五、html中的模板继承

extend模板继承
到目前为止,我们的模板范例都只是些零星的 HTML 片段,但在实际应用中,你将用 Django 模板系统来创建整个 HTML 页面。 这就带来一个常见的 Web 开发问题: 在整个网站中,如何减少共用页面区域(比如站点导航)所引起的重复和冗余代码?Django 解决此类问题的首选方法是使用一种优雅的策略—— 模板继承 。
本质上来说,模板继承就是先构造一个基础框架模板,而后在其子模板中对它所包含站点公用部分和定义块进行重载。

1、首先我们定义一个基础模板:base.html

{% load staticfiles %}





    
    liaochao's Django
    


我是顶部菜单

{% block content %} {% endblock %}

2、我们将login.html当做子模板,继承base.html有的属性。

{% extends "base.html" %}
{% block content %}

    

{{ a.0 }}

{% for items in obj_list %}
{% if items.username == 'liaochao' %} {{ items.username|upper }} {{ items.password|add:5 }} {% endif %}
{% endfor %} {{ test }}
{{ test|cut:' ' }}

{{ d }}
{{ d|date:'Y-m-d' }} {% load my_tags %}

{{ test|filter_func:'666' }}

{% simple_func 'a' 'b' 'c' %}

{% endblock %}

此时我们查看页面,可以发现login页面一直都在,并且加了一行顶部菜单 字样
五、html中的模板继承_第1张图片
这样每个模板只包含对自己而言 独一无二 的代码。 无需多余的部分。 如果想进行站点级的设计修改,仅需修改 base.html ,所有其它模板会立即反映出所作修改。

你可能感兴趣的:(django)