【问题标题】:Using template language in Django in a DRY way以 DRY 的方式在 Django 中使用模板语言
【发布时间】:2012-12-21 22:04:00
【问题描述】:

我在以 DRY 方式使用 Django 模板语言时遇到了麻烦。

我定义了 base-section.html,它是我网站所有部分的基础。 每个部分都必须覆盖此基本模板中的一些代码,以提供正确的标题、图标、描述、部分的正文等 - 始终以相同的方式。

现在,我想在每个部分中编写一些代码,但我不喜欢在每个部分中覆盖大约 10 个块的想法,因为它会一次又一次地编写相同的内容。

而指定部分的关键字是 X:

  • 该部分的标题也是 X
  • 浏览器中的网站标题也是 X
  • 图标名称为 X+"_icon.png"
  • 等等

我会很欣赏这样一种解决方案,我可以在每个部分中仅分配 1 或 2 个变量并让我的模板正常工作。

有可能吗?

【问题讨论】:

  • 您可以从视图中获得{{page_title}}

标签: django django-templates


【解决方案1】:

很多数据可以简单地与视图一起传递。但是,我经常发现编写自定义模板标签可能更可取。

您可以查看 Django 文档中的自定义标签:https://docs.djangoproject.com/en/dev/howto/custom-template-tags/

使用简单标签或包含标签,您可以很容易地重用模板代码。

【讨论】:

    猜你喜欢
    • 2012-09-30
    • 1970-01-01
    • 1970-01-01
    • 2013-08-09
    • 2010-12-26
    • 2015-06-19
    • 2017-01-07
    • 2011-10-24
    • 2019-02-01
    相关资源
    最近更新 更多