模版
- HTML模版中的动态页面都在{{ }}中。在视图函数中通过调用render_template()函数,render_template()函数内部调用Jinjia2模版引擎,会把模版参数提供的相应的值替换{{ }}块。
- Jinjia2模版引擎同样支持条件控制语句,放在{% %}中。如if语句
{% if title %}
<title>{{title}} - microblog</title>
{% else %}
<title>Welcome to microblog</title>
{% endif %}
以及for循环
{% for post in posts %}
{% endfor %} - 模版继承:把所有模版中公共的部分移除出页面的布局,接着把它们放在一个基础模板中,所有使用它的模板可以导入该基础模板。在这个模板中,我们使用 block 控制语句来定义派生模板可以插入的地方。块被赋予唯一的名字。如基础模版base.html文件中,定义了一个名为content的块。
{% block content %}{% endblock %}
在需要继承base.html文件中,按如下格式完成即可。
{% extends "base.html" %}
{% block content %}
......
{% endblock %}