为什么templatetags存储在目录中?

时间:2011-11-03 10:28:44

标签: python django django-templates

我现在正在使用模板标签,有一件事我还没理解为什么模板标签必须存储在应用程序的templatetags目录中。这有什么潜在的原因吗?有可能以某种方式将它们存储在templatetags.py文件中,以便我可以减少额外目录周围的额外膨胀吗?

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:1)

虽然我同意Alasdair的理由,但标准的django期望是在相应的app文件夹中包含adminmodelstemplatestemplatetags,我认为有不必要的样板关联。

我认为正是出于这个原因,有很多第三方应用:https://github.com/ojii/django-classy-tagshttps://github.com/justquick/django-native-tagshttps://github.com/alex/django-templatetag-sugar来减少锅炉板。