【问题标题】:Why are templatetags stored in directories?为什么模板标签存储在目录中?
【发布时间】:2011-11-03 10:28:44
【问题描述】:

我现在正在使用模板标签,我不明白的一件事是为什么模板标签必须存储在应用程序的templatetags 目录中。这有什么根本原因吗?是否可以以某种方式将它们存储在 templatetags.py 文件中,这样我就可以减少额外目录带来的额外膨胀?

【问题讨论】:

  • 我发现将它们放在子目录中有助于分离不相关的模板标签,如果使用分布式版本控制系统,也有助于避免潜在的合并冲突。

标签: python django django-templates


【解决方案1】:

Django 希望您以特定方式安排应用程序。在应用程序中需要一个 templatetags 目录也不例外。其他一些要求是:

  • admin.py 中的 ModelAdmin(用于自动发现)
  • models.py 中的型号
  • management/commands目录中的管理命令
  • fixtures 目录中的装置

与模板不同,其中有挂钩来指定模板的加载方式,没有简单的方法可以将模板标签模块存储在不同的位置。

【讨论】:

    【解决方案2】:

    虽然我同意 Alasdair 的基本原理,标准的 django 期望是在各自的应用程序文件夹中包含 adminmodelstemplatestemplatetags,但我认为相关联的样板是不必要的。

    我认为正是出于这个原因,有很多 3rd 方应用程序:https://github.com/ojii/django-classy-tagshttps://github.com/justquick/django-native-tagshttps://github.com/alex/django-templatetag-sugar 以减少样板。

    【讨论】:

      猜你喜欢
      • 2023-03-14
      • 2016-02-11
      • 1970-01-01
      • 1970-01-01
      • 2011-06-24
      • 1970-01-01
      • 1970-01-01
      • 2017-11-19
      • 2016-04-28
      相关资源
      最近更新 更多