模板继承流程
新建一个模板,在需要变化的地方加上 block 标签。每个block标签不能同名,可以有多个!
{% block contents %}
母版页面
{% endblock %}
引入模板
{% extends "muban.html" %} # 引入模板文件
{% block contents %}
{{ block.super }} # 继承了模板文件中的 block标签里的内容 显示结果 母版页面 模板内容---cd1
模板内容---cd1 # 重写了模板文件中的block标签里的内容 显示结果 模板内容---cd1
{% endblock %}
1. 新建模板页面
```html <!DOCTYPE html>
{% block contents %} # 钩子
母版页面 # 里面的内容可以重写
{% endblock %}
{% block js %}
{% endblock %}
<a name="ayE2V"></a>
## 2. 新建菜单页并继承模板内容
```html
{% extends "muban.html" %} {# 继承模板 #}
{% block contents %} {# 钩子名称要一一对应 #}
{{ block.super }}
模板内容---cd1
{% endblock %}
3. views定义视图逻辑
def base(request):
return render(request,'muban.html')
def cd1(request):
return render(request,'cd1.html')
4. urls 定义转发路径
def base(request):
return render(request,'muban.html')
def cd1(request):
return render(request,'cd1.html')
5. 验证
- 模板页面
- 直接重写钩子中的内容
- 使用了block.super方法,继承了标签的内容