【问题标题】:{% include %} vs {% extends %} in django templatesdjango 模板中的 {% include %} vs {% extends %}
【发布时间】:2011-02-21 06:20:52
【问题描述】:

什么时候特别扩展模板,什么时候使用 include ?是否包含与用户个人资料部分(例如我们网站一角的关于我)之类的内容有任何用途?

【问题讨论】:

    标签: django include django-templates


    【解决方案1】:

    扩展允许您替换父模板中的块(例如“内容”),而不是包含构建页面的部分(例如“页眉”和“页脚”)。这允许您拥有一个包含完整布局的模板,并且您只需通过替换块来“插入”另一个模板的内容。

    如果在所有页面上都使用了用户配置文件,您可能希望将其放入您的基本模板中,该模板由其他人扩展或包含在基本模板中。如果您只希望用户配置文件出现在很少的页面上,您也可以将其包含在这些模板中。 如果用户配置文件除了在几个页面上是相同的,请将其放在一个块内的基本模板中,然后可以在需要不同配置文件的那些模板中替换它。

    【讨论】:

    • 关于扩展/阻止/包含的最佳总结
    【解决方案2】:

    了解 django template inheretance

    扩展某种“包含”父模板,然后可以覆盖其中的一部分以实现不同的功能。

    Include 在当前上下文中进行简单的包含渲染模板。

    【讨论】:

    • 这已经改变,因为上面的链接似乎没有给出示例或解释继承。
    • 我想这可能是新的link
    【解决方案3】:

    extends 创建“父子关系”。在扩展的情况下,有可能覆盖父功能。而 include 只是呈现 html 响应。

    【讨论】:

      猜你喜欢
      • 2019-05-15
      • 2018-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多