代码之家  ›  专栏  ›  技术社区  ›  f4nt

django模板包括

  •  3
  • f4nt  · 技术社区  · 16 年前

    目前我对django模板有一个问题。我基本上有3个模板文件:

    • 基础
    • 故事列表
    • 故事细节

    {% block item %}
        content stuff
    {% endblock %}
    

    4 回复  |  直到 16 年前
        1
  •  16
  •   Community CDub    5 年前

    一般来说,使用 include s不是Django模板的答案。让我从几个方面回答你的问题。

    首先,让我谈谈侧边栏。

    • 几乎所有的普通页面都会使用侧边栏吗? 放进去 Base Story_* 模板)。

    • 这个侧边栏是唯一的吗 故事_* 制作另一个模板,比如, Story_base 并将其扩展。这类似于在Java中生成抽象超类。(答案在我的脑海里,但措辞是无情的 ripped off

    接下来,让我谈谈模板继承。假设您有一个名为 Story_list 延伸 基础 . 在这一点上,在刚刚把 {% extends "Base" %} 正是 基础 . 你还加了什么 故事列表 已在中定义的块 基础 .

    最后,让我谈谈我的地址 s尽量避免它们。其他模板引擎,如PHP,似乎鼓励使用 包括 基础 ,在 ,在一些 故事_*

        2
  •  6
  •   jpwatts    16 年前

    如果站点范围内不需要故事模板之间的通用代码,我会创建一个 story_base (扩展原文) base )让我的故事模板扩展这一点。

        3
  •  0
  •   S.Lott    16 年前

    你有一个 {% include %} 这个标签。

        4
  •  0
  •   Charlie Zhu    12 年前
    {% include xxx.html %}
    

    另一种方法是使用过滤器。过滤器调用函数进行渲染,渲染时可以使用模板。