我想傳遞一個頁面列表,並在Jinja2中循環顯示我的網站的所有頁面。我使用Flask構建和運行應用程序。我跟着正式的燒瓶文件,連同this tutorial。但是,當我嘗試傳遞列表並嘗試循環它時,它不會出現在呈現的html中。如何通過項目循環使用Jinja2/Flask?
我在做什麼錯?如何正確傳遞列表並循環使用base.html
作爲模板?
這裏是我的代碼與虛擬頁面列表硬編碼:
app.py
:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
page_list = ['Eins', 'Zwei']
return render_template('base.html', pages=page_list)
if __name__ == "__main__":
app.run(port=8000)
而且base.html
,位於/templates/
:
<html>
<head>
<title>Test</title>
</head>
<body>
<h1>All the nice pages</h1>
{% for page in pages %}
<p>{{ page }}</p>
{% endfor %}
</body>
</html>
當我運行的應用程序和瀏覽到http://127.0.0.1:8000/
,這就是我得到的:
<html>
<head>
<title>Test</title>
</head>
<h1>All the nice pages</h1>
<body>
</body>
</html>
有些事情是不正確的。您的代碼按照您的預期工作。啓動應用程序後你有沒有改變'app.py'?你需要重新加載它。我建議你在調用'app.run()'的時候加入'debug = True'。 – dirn
該代碼工作正常,重新啓動您的服務器 –
我試過你的應用程序,它工作得很好,它將兩個頁面列表打印到瀏覽器。重新加載應用程序或停止同步應用程序在後臺運行。 – ajkumar25