• django下模板的包含和继承


    包含:
    {% 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 %},因为块标签同时在两个地方工作,不仅仅在子模块中,而且在父模块中也填充内容,如果子模块有两个同名的标签,父模板将不能决定使用哪个块内容来使用

  • 相关阅读:
    [CF997E] Good SubSegment
    CF916E
    BZOJ2006 超级钢琴
    BZOJ4571
    凸包总结
    树形DP入门
    bzoj4300 绝世好题(位运算+DP)
    bzoj4552 [Tjoi2016&Heoi2016]排序 (线段树+二分)
    SP1716 GSS3
    Noip2009 Hankson 的趣味题 (简单数学)
  • 原文地址:https://www.cnblogs.com/kindnull/p/8379795.html
Copyright © 2020-2023  润新知