模板层 Template
模板层的作用,是把后端数据渲染成用户能看到的页面。
为什么需要模板
如果后端只返回纯文本,页面会很单调。
模板的意义就是:
- 把 HTML 页面和 Python 数据结合起来
- 让页面根据后端数据动态变化
最基础示例
视图:
python
from django.shortcuts import render
def home(request):
return render(request, "home.html", {"name": "小明"})模板 home.html:
html
<h1>欢迎你,{{ name }}</h1>最终页面显示:
text
欢迎你,小明模板导入
模板可以相互复用。
比如页头、页脚、侧边栏通常不会每个页面都重写。
上下文变量
后端传给模板的数据,通常就叫上下文。
模板表达式
最常见的是:
html
{{ name }}表示输出变量。
模板语句
条件判断
html
{% if score >= 60 %}
<p>及格</p>
{% else %}
<p>未及格</p>
{% endif %}循环
html
{% for item in students %}
<p>{{ item }}</p>
{% endfor %}模板复用
页面一多之后,模板复用会变得非常重要。
否则你会重复写大量相同 HTML。
过滤器
过滤器可以在模板里对数据做简单处理,例如:
html
{{ name|upper }}标签
模板标签通常负责更复杂一点的逻辑控制。