python – 在Flask中未定义url_for

python – 在Flask中未定义url_for,第1张

概述import osfrom jinja2 import Environment, FileSystemLoaderenv = Environment(loader=FileSystemLoader('templates'))from flask import Flask,url_forapp = Flask(__name__)@app.route('/')def hello_worl
import osfrom jinja2 import Environment,fileSystemloaderenv = Environment(loader=fileSystemloader('templates'))from flask import Flask,url_forapp = Flask(__name__)@app.route('/')def hello_world():    tmpl = env.get_template('index.HTML')    sIDebar = env.get_template('sIDebar.HTML')    return tmpl.render(root_url="",sIDebar=sIDebar.render())if __name__ == '__main__':    app.run(deBUG=True)

并在tempaltes / index.HTML

{{ url_for('static',filename='Js/main.Js') }}

虽然,我得到的url_for没有定义?我试图在网上关注这些例子,但我不知道为什么我会这样做

解决方法 我认为问题是你正在尝试在jinja HTML模板中使用代码逻辑. Jinja禁止在设计上使代码/演示文稿不混合.

所以,我建议在代码中生成url,将其存放在发送jinja的对象中,然后在模板中使用该变量.有点像:

def hello_world():    tmpl = env.get_template('index.HTML')    sIDebar = env.get_template('sIDebar.HTML')    Js_url = url_for('static',filename='Js/main.Js')    return tmpl.render(root_url="",sIDebar=sIDebar.render(),Jsurl=Js_url)

然后在模板方面:

< script type =“text / JavaScript”src =“{{Jsurl}}”>< / script>

总结

以上是内存溢出为你收集整理的python – 在Flask中未定义url_for全部内容,希望文章能够帮你解决python – 在Flask中未定义url_for所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1193007.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存