jinja2页面渲染出错-解决

今天给大家分享的是jinja2页面渲染中出现的错误,以及解决方法。
欢迎关注微信公众号:极简XksA
账号:xksnh888
交流学习

一、遇到错误

1.概述

  这几天搞pyecharts,做数据可视化,一些基本的图表做起来还是蛮简单的,pyecharts也比较强大,弄的差不多了,我自然想用它做一些有意义的事情,比如:爬取数据然后分析,再可视化展现,啪,肯定不会这么简单,我想的是和最近的一个项目结合,分析项目里用户信息数据,然后可视化,把可视化页面放到web框架,做一个简单的项目简介、展现web网站,这个意义才大嘛,可是不如人意的是当我弄到用户地区分布图的时候,页面渲染出错了,访问不了,百度一下不行,我百 2,3,4…n下,还是没找到具体解决方法。
这里写图片描述


2.错误介绍

  错误提示:

jinja2.exceptions.TemplateSyntaxError: unexpected char '\x9d' at 724446

很明显,它告诉我们,页面模版的格式有问题,甚至都把有问题的字符串和位置给我们了,但是,emmm,724446,还好,没有过百万,而且这个页面文件(.html)是由pyecharts直接生成的,我去改,对不起,我不是前端。
呵呵


二、解决问题

1.分析问题

  虽然不是前端,谁叫我穷,请不起前端呢,还是灰溜溜的跑去看代码了,首先分析一下pyecharts根据我给出的数据生成的html页面文件,里面基本的<head>、<title>、<body>我就不说了,里面几乎都是js脚本,一共有三块,虽然看不懂,但是颜色还是认识的,所以猜测到最后一个js脚本肯定是页面颜色渲染的,因为颜色最多,哈哈哈,那么前两个可能是图片渲染了,并且容易找出出错地方在前两个js脚本内。
不开玩笑,几万行的js脚本

2.解决方法

  经过诸多尝试,没办法,问了老师,果然,姜还是老的辣,比你年长的人就是比你吃的盐多,呸,比你的经验多。
  解决方法其实很简单,我们把页面里的js脚本单独拿出来,放到js文件内,然后再在html页面内加载静态的js文件即可,说白了,就是不要让jinja2直接去渲染‘有问题’的js内容,更改之后,果然,心情舒畅多了。
舒服
舒服

三、代码展示

应大家要求,把代码发出来,大家可以自己试试这个错误,如果大家有别的解决方法,欢迎大家添加微信:zs820553471,进行学习讨论,或者留言评论。

1.安装模块
pip install pyecharts
pip install echarts-china-provinces-pypkg
pip install flask
2.源代码
  • jinja2_test.py(生成模版文件)
'''
author : XksA
time : 2018.6.13
problem :jinja2页面渲染出错,而页面本身没有问题
'''
from pyecharts import Map
def view_user_portrait():

    # 用户地区分布图
    value = [3,4,5,6,7]

    attr = ['湖北','天津','北京','山西','内蒙古']
    map = Map("极简XksA", width=1200, height=600,page_title = 'Jinja2_test')
    map.add("Jinja2_test", attr, value, maptype='china', is_label_show=True)
    map.render()
#生成图(html文件)
view_user_portrait()

  • app.py(程序入口文件)
'''
author : XksA
time : 2018.6.13
problem :jinja2页面渲染出错,而页面本身没有问题
'''

from flask import Flask,render_template
# template_folder用来指定模版文件目录
app = Flask(__name__,template_folder=r'你的html文件目录')

@app.route('/test')
def test():
    return render_template('render.html')

if __name__ == '__main__':
    app.run(port = 88,debug=1)
  • render.html(模版文件)
模版文件内容比较多,大家运行jinja2_test.py文件即可获得
3.感想

  遇到问题其实挺好的,希望大家实践后能学到一些东西,有好的解决方法,也欢迎评论,互相学习。

数据可视化文章:【Python | 做更好的数据可视化】pyecharts进阶用法(一)
也可以关注微信公众号,致力打造一个资源分享、学习交流公众平台。
公众号名:极简XksA
账号:xksnh888

猜你喜欢

转载自blog.csdn.net/qq_39241986/article/details/80680392