config
可以从模板中直接访问Flask当前的config对象:
{{config.SQLALCHEMY_DATABASE_URI}}
sqlite:///database.db
request
就是flask中代表当前请求的request对象:
{{ request.method }} -- {{ request.path }}
输出结果为(本机本地运行):
GET--/
session
为Flask的session对象
{{ session.get('name') }}
输出结果为(本机本地运行):
zhangsan
注意,建议使用session.get('name),这样即使模板中不含有name也不会报错,
url_for()
url_for会根据传入的路由器函数名,返回该路由对应的URL,在模板中始终使用url_for()就可以安全的修改路由绑定的URL,则不比担心模板中渲染出错的链接,经常用于超链接,比如下面的例子:
<a href="{{ url_for('index') }}">跳转主页</a>
点击即可跳转至主页
同时,如果定义的路由URL是带有参数的,可以把它们作为关键字参数传入url_for(),Flask会把他们填充进最终生成的URL中:
{{ url_for('goods', goods_id=10086)}}
/goods/10086
get_flashed_messages()
这个函数会返回之前在flask中通过flask()传入的消息的列表,flash函数可以把由Python字符串表示的消息加入一个消息队列中,再使用get_flashed_message()函数取出它们并消费掉:
{%for message in get_flashed_messages()%}
{{message}}
{%endfor%}