flask template的应用
1,符号的使用
{# 注释#}
{{}}变量
{%%} 控制代码块,写if或for循环等
2,宏的使用
macro 宏
{% macro quick_form([参数]) %}
{% endmacro %}
在要使用的地方引入:
{% from 'macrotest.html' import quick_form %}
使用:
{{ quick_form('用户名:','text','username') }}
3,extends与block的使用
extends与block实现继承与复用
一般建一个base.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{% block title%}{%endblock%}</title>
</head>
<body>
<div class="nav">
<ul>
<li><a href="#">标题1</a></li>
<li><a href="#">标题2</a></li>
</ul>
</div>
{% block main %}
{% endblock %}
</body>
</html>
block部分就是每个具体页面所呈现的不同内容部分,在具体页面中,需要声明替换的block,然后写具体内容
{% extends "base.html" %}
{% block title %}
index
{% endblock %}
{% block main %}
<h1>This is index Page!</h1>
{% endblock %}
{% extends "base.html" %}
{% block title %}
login
{% endblock %}
{% block main %}
<h1>This is login Page!</h1>
{% endblock %}
多个页面,共同使用的部分就写在base.html中,避免重复写多次。不同部分就使用extends继承base.html,具体使用block声明要重写的模块,然后写具体替换内容,替换base.html的部分。
如果,base.html中定义了block模块,同时也定义了内容,在具体使用的,想要继承模板中的内容,使用:
super()就表示了通用模板里的内容
{{ super() }}