我正在尝试将一些变量从子页面传递给模板.这是我的python代码:
if self.request.url.find("&try") == 1:
isTrying = False
else:
isTrying = True
page_values = {
"trying": isTrying
}
page = jinja_environment.get_template("p/index.html")
self.response.out.write(page.render(page_values))
Run Code Online (Sandbox Code Playgroud)
模板:
<html>
<head>
<link type="text/css" rel="stylesheet" href="/css/template.css"></link>
<title>{{ title }} | SST QA</title>
<script src="/js/jquery.min.js"></script>
{% block head %}{% endblock head %}
</head>
<body>
{% if not trying %}
<script type="text/javascript">
// Redirects user to maintainence page
window.location.href = "construct"
</script>
{% endif %}
{% block content %}{% endblock content %}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
和孩子:
{% extends "/templates/template.html" %} …Run Code Online (Sandbox Code Playgroud) 我有一个像这样定义的路线:
@app.route('/magic/<filename>')
def moremagic(filename):
pass
Run Code Online (Sandbox Code Playgroud)
现在在模板中我想用url_for()这样的方式调用该路由:
<h1>you uploaded {{ name }}<h1>
<a href="{{ url_for('/magic/<filename>') }}">Click to see magic happen</a>
Run Code Online (Sandbox Code Playgroud)
我试过了:
<a href="{{ url_for('/magic', filename={{ name }}) }}">Click to see magic happen</a>
Run Code Online (Sandbox Code Playgroud)
那扔了一个 jinja2.TemplateSyntaxError: expected token ':' got }
任何人都可以建议如何{{ name }}将模板中出现的内容输入到url_for()所以当我点击时我调用正确的app.route?
大家好,我在 Flask 中遇到了一个问题。mysql中有一个表名为category,我查询了所有的表,然后传给a.html,像这样:
return render_template('admin_index.html', username=session.get('username'), categories=categories)
Run Code Online (Sandbox Code Playgroud)
在 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 %}
]
}
]
};
Run Code Online (Sandbox Code Playgroud)
但是当我运行这个时,我得到了一个错误:
jinja2.exceptions.TemplateSyntaxError:预期的标记“:”,得到“}”
我尝试删除{{ category.id }},结果还可以,我怀疑不允许在 Flask 模板中嵌套变量,如下所示:
{{ a is {{ b }} }}
Run Code Online (Sandbox Code Playgroud)
有什么办法可以嵌套吗?