django扩展block

django扩展block        

 

django的

{% block [blockname] %}

{% endblcok %}

 

可以让开发者随意定义自己的block,然后在子模板中(通过extends来继承),可以声明同样的模块来重写该block。例如:

 

// base.htm

<html>
<head>
</head>

<body>

{% block view %}

<p>this is base view</p>

{% endblock %}

</body>
</html>

 

// index.htm

{% extends "base.htm" %}    // 注意这里的引号不能少

 

{% block view %}

<p>this is child view</p>

{% endblock %}

 

这样index.htm的显示的内容就不会显示‘this is base view’,而只是显示‘this is child view’。这种是完全覆盖父模板的block。

 

但是有时候需要扩展而不是覆盖,就需要 block.super

 

看看重写的index.htm

 

// index.htm

{% extends "base.htm" %}    // 注意这里的引号不能少

{% block view %}

{{ block.super  }}

<p>this is child view</p>

{% endblock %}

 

 

 

 

 

 

 

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.

    分享到:

Leave a Reply

Your email address will not be published. Required fields are marked *