Flask项目Jinja2模板语法错误排查求助
Jinja2 TemplateSyntaxError 错误原因及修复
错误出现在模板底部的url_for调用代码中:
<script type="text/javascript" src="{{ url_for('static, filename='index.js') }}" ></script>
错误原因
url_for函数的参数写法存在语法错误:
- 第一个参数
static是Flask内置的静态文件端点,需作为独立的字符串参数(即'static'),但你错误地将逗号包含在了字符串内部,写成了'static,。这导致Jinja2解析时无法识别参数分隔的逗号,反而将filename识别为static,的一部分,当解析到index时找不到预期的逗号分隔符,从而抛出expected token ',', got 'index'的语法错误。
修复后的代码
将该部分代码修正为正确的参数传递格式:
<script type="text/javascript" src="{{ url_for('static', filename='index.js') }}" ></script>
把'static,调整为'static',让逗号作为参数间的分隔符,Jinja2即可正确解析url_for的两个参数:静态文件端点static和目标文件名index.js。
内容的提问来源于stack exchange,提问作者Kachi Kachi
相关产品推荐
相关产品推荐

