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

  • 相关阅读:
    初涉Android蓝牙开发
    android真机调试方法
    BizTalk Server 系列文章目录
    【译文】ExtJS 4.1性能预览
    【译】ExtJS 4.1会带来什么
    cocos2dx 如何使用Visual Studio 2010和xcode 4混合编写手机游戏
    Mac osx 下让android 模拟器横屏
    c++ int convert to std::string 转换成std::string
    离ExtJS 4.1 beta发布只剩26个bug了
    Window.ShowModalDialog使用详解
  • 原文地址:https://www.cnblogs.com/kindnull/p/8379795.html
Copyright © 2011-2022 走看看