模板路径:
Flask中的参数template_folder指定模板路径,
无template_folder默认当前目录templates
app = Flask(__name__, template_folder='/home/charlie/桌面/flask/jinja2/templates')
# template_folder指定模板路径,默认当前目录templates
模板传递参数:
- 在使用‘render_template'渲染模板的时候,可以传递关键字参数。
以后直接在模板中使用就可以啦。 - 如果你的参数过多,那么可以将所有参数放到一个字典中,
然后在传这个字典参数的时候,使用两个星号,将字典打散成关键字参数。
@app.route('/')
def hello_world():
context = {
'username': 'charlie',
'age': 18,
'country': 'China',
'mother': {
'name': 'Mameihua',
'age': 42
}
}
return render_template('index.html', **context)
在html中打印出参数
{#模板传参数#}
<p>{{ username }}</p>
<p>{{ age }}</p>
<p>{{ country }}</p>
<p>{{ mother.name }}</p>
模板中使用url_for
模板中的url_for跟我们后台视图函数中的‘url_for'
使用起来基本一模一样。也是传递视图函数的名字,也可以传递参数。
使用起来要在url_for左右两边加上{{ url_for() }};
{#模板使用url_for#}
<p><a href=" {{ url_for('login') }}">登录</a></p>
网友评论