
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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)