【问题标题】:Django - same html, different viewsDjango - 相同的 html,不同的视图
【发布时间】:2014-04-05 02:23:48
【问题描述】:

我希望在我的所有模板中都有一个 html 块(例如用于基本表单提交的侧边栏),这可以通过使用块在 html 文件上轻松实现。

但是,我怀疑的不是模板之间的重复,而是视图之间的重复。由于所有模板的功能都是相同的,因此为我拥有的每个视图定义请求处理(来自侧栏的提交)真的很无聊(而且编程很糟糕)!我该如何处理?我应该(并且可以)制作一个专门用于处理模板的“全方位”部分的视图吗?

欢迎任何建议,

提前致谢

【问题讨论】:

    标签: html django django-templates django-views


    【解决方案1】:

    丹尼尔指的是Inclusion Tag

    基本上,custom template tag 用于像您这样的场景(...代码可重用性以及许多其他优势)

    这篇文章也可能有帮助:Django Custom Inclusion Tags

    另一种方法是使用template inheritance - 创建一个基本模板,该模板定义布局,并覆盖将针对特定视图更改的代码块。

    这里是一个模板继承的例子:https://docs.djangoproject.com/en/dev/topics/templates/#template-inheritance

    【讨论】:

    • 问题是,我的问题不在于模板重用,而在于视图。由于每个模板都有那段代码,所以每个视图都必须有关于该模板块的代码。
    • 没有。您不必将其包含在视图中。它只是在模板中调用,而不是在视图中。
    • 在链接中可以看到如何使用自定义模板标签(注意在视图中不需要做任何事情)
    【解决方案2】:

    使用自定义模板标签 - 可能是包含标签。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-13
      • 2019-01-03
      相关资源
      最近更新 更多