一、url_for
1.静态文件引入
{ { url_for('static',filename='文件路径') }}
<link rel="shortcut icon" href="{
{ url_for('static',filename='base/images/logo.png') }}">
2.定义路由
{ { url_for('模块名.视图名',变量=参数) }}
<a href="{
{ url_for('home.user',page=1) }}">会员</a>
二、块block
1.admin.html 添加块
{% block 数据块名称 %} ...{% endblock %}
2.继承父模板
{% extends "admin/admin.html" %}
3.块覆盖的情况super
我们既不想不覆盖通用模板的内容,又想在其基础上,增加一些东西,这也是可以的。
<footer>
{% block footer %}
<p>Posted:Bikmin</p>
<p>Contact with:<a href="someone@example.com">someone@example.com</a> </p>
{% endblock %}
</footer>
如果我们不再自定义块,就会使用base.html通用模板的内容,效果如下
觉得这个模板还行,不想覆盖,还想在这个基础上再添加些东西,想要上面添加一条水平线作为分隔符,该怎么做呢
做法是,重新定义块,但是需要用到super()函数
{% block footer %}
<hr>
{
{ super() }}
{% endblock %}
{ { super() }} 就表示了通用模板里的内容
三、 包含页
如果有一些HTML代码是经常用到的固定的,为了避免整个HTML文档看起来很拥挤,内容嘈杂。可以将这一部分的代码,保存为了一个HTML模板,然后要用的时候,再用
{% include 'includes/head.html' %}
四、宏macro
通过做成宏,可以将一些参数修改成我们想要的默认值,然后调用的时候就像函数一样调用,很方便。
# 定义宏 {% macro input(name,value='',type='text',size=20) %} <input type=