码迷,mamicode.com
首页 > 其他好文 > 详细

django下模板的包含和继承

时间:2018-01-30 00:22:38      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:基础   nav   http   .com   变量   template   包含   uil   ref   

包含:
{% include %} 允许在模板中包含其他模板的内容
标签的参数可以是:模板名称、变量 字符串
{% include ‘nav.html‘%} #模板名称,将被包含的模板中的所有html内容都包含进来,所以一般被包含的模板中直接写需要的内容即可,不需要再另外写入其他的head、body、title之类的部分
{% include ‘app/nav.html‘%} #模板路径
{% include template_name %} #模板变量

还可以在包含的时候传递变量
https://docs.djangoproject.com/en/1.9/ref/templates/builtins/#include


继承:
本质上说:模板继承几居室先构造一个基础框架模板,然后在其子模块中对它所包含站点共用部分和定义进行重载

1、{% block %}
定义块
https://docs.djangoproject.com/en/1.9/ref/templates/builtins/#block

2、{% extends %}
继承父模块
https://docs.djangoproject.com/en/1.9/ref/templates/builtins/#extends


注意事项:
1、包含和继承可以把一些共用的网页模块独立出来,以减少代码的冗余
2、如果在模块里使用{% extends %}的话,这个标签必须在所有模块标签的前面,否则模板继承不工作
3、通常尽可能模板里的{% block %}越多越好,子模块不必定义所有的父block
4、如果你需要得到父模块的内容,{{ block.supper }}变量可以帮你完成工作 当你需要给父模块添加内容而不是取代它的时候这就很有用
5、不能在同一模板里定义多个同名的{% block %},因为块标签同时在两个地方工作,不仅仅在子模块中,而且在父模块中也填充内容,如果子模块有两个同名的标签,父模板将不能决定使用哪个块内容来使用

django下模板的包含和继承

标签:基础   nav   http   .com   变量   template   包含   uil   ref   

原文地址:https://www.cnblogs.com/kindnull/p/8379795.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!