大家好,我在 Flask 中遇到了一个问题。
mysql中有一个名为category的表,我查询了所有这些表,然后将它们传递给a.html,如下所示:
return render_template('admin_index.html', username=session.get('username'), categories=categories)
在 admin_index.html 中,我想列出所有这些,这是我的代码:
var _menus = {
"menus": [
{
"menuid": "1",
"icon": "icon-sys",
"menuname": "category",
"menus": [
{% for category in categories %}
{
"menuid": "{{ category.id }}",
"menuname":"{{ category.name }}",
"icon": "icon-users",
"url": "{{url_for('admin.category', id={{category.id}} _external=True) }}"
},
{% endfor %}
]
}
]
};
但是当我运行这个时,我收到一个错误:
jinja2.exceptions.TemplateSyntaxError:预期标记“:”,得到“}”
我尝试删除 {{category.id }},结果没问题,我怀疑 Flask 模板中不允许嵌套变量,如下所示:
{{ a is {{ b }} }}
有什么办法可以让我嵌套它吗?
你已经进入了神社的表达之中。所以执行下面的代码:
url_for("admin.category", id={{category.id}} _external=True)
因为{
它需要一个字典,因此会出现错误。
使用的值category.id
只需省略大括号:
url_for("admin.category", id=category.id, _external=True)
另请注意,您忘记了,
在“_external”之前。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)