返回顶部
首页 > 资讯 > 后端开发 > Python >cannot import name Markup from jinja2解决方案
  • 300
分享到

cannot import name Markup from jinja2解决方案

flaskpython后端 2023-10-08 22:10:40 300人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

WEB框架flask中引入pyecharts代码运行,出错显cannot import name 'Markup' from 'jinja2'(如图1),分析发现在jinja2版本过高 3.1.2中已经去掉了Markup,改为marupsa

WEB框架flask中引入pyecharts代码运行,出错显cannot import name 'Markup' from 'jinja2'(如图1),分析发现在jinja2版本过高 3.1.2中已经去掉了Markup,改为marupsafe可实现。
from flask import Flaskfrom jinja2 import Markup, Environment, FileSystemLoaderfrom pyecharts.globals import CurrentConfig# 关于 CurrentConfig,可参考 [基本使用-全局变量]CurrentConfig.GLOBAL_ENV = Environment(loader=FileSystemLoader("./templates"))from pyecharts import options as optsfrom pyecharts.charts import Barapp = Flask(__name__, static_folder="templates")def bar_base() -> Bar:    c = (        Bar()        .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])        .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])        .add_yaxis("商家B", [15, 25, 16, 55, 48, 8])        .set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副标题"))    )    return c@app.route("/")def index():    c = bar_base()    return Markup(c.render_embed())if __name__ == "__main__":    app.run()

将代码改一下, 

from jinja2.utils import markupsafe
def index():    c = bar_base()    return markupsafe.Markup(c.render_embed())

代码如下: 

from flask import Flask# from jinja2 import Markupfrom jinja2.utils import markupsafefrom pyecharts import options as optsfrom pyecharts.charts import Barapp = Flask(__name__, static_folder="templates")def bar_base() -> Bar:    c = (        Bar()            .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])            .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])            .add_yaxis("商家B", [15, 25, 16, 55, 48, 8])            .set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副标题"))    )    return c@app.route("/")def index():    c = bar_base()    return markupsafe.Markup(c.render_embed())if __name__ == "__main__":    app.run()

运行结果:

来源地址:https://blog.csdn.net/u014125025/article/details/129064453

--结束END--

本文标题: cannot import name Markup from jinja2解决方案

本文链接: https://lsjlt.com/news/425701.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作