我遇到了url_for问题,我使用在views.py中放入变量的html代码构建了索引页,此变量作为参数传递给render_template函数,在索引页中带有{{1 }}我可以从函数中获取html代码,并在页面加载到href中时很好地显示几乎所有数据,但是我看不到正确的路由,但是我看到的是{{ content }}
而不是{{1} }。
这是views.py
<a href="url_for('detail')">
谢谢
答案 0 :(得分:0)
Flask的url_for
依赖于请求上下文,您不能将其放在view函数之外,请尝试将for循环移到home
函数中。
此外,您应该使用Jinja语法在模板(index.html
)中直接编写for循环,而不是在Python中加入HTML代码。例如:
<body>
{% for dog in dogs %}
Put your html code here.
You can generate URL like this: <a href="{{ url_for('detail') }}">
{% endfor %}
</body>
另外,请记住将dogs
变量传递给render_template:
@app.route('/')
def home():
return render_template("index.html", dogs=dogs)
阅读Jinja documentation了解更多详细信息。