3

Django的新手。在 Django文档中,我知道它说“自定义模板标签和过滤器必须存在于 Django 应用程序中。”。我将有 4 或 5 个应用程序,每个应用程序都有自定义模板标签(其中一些将与其他应用程序中的标签相同)。即使它这么说,是否可以在我的项目的根目录下为我的所有模板标签创建一个主文件夹?似乎每个应用程序都有单独的文件夹违反了 DRY ......

4

2 回答 2

5

好吧,没有理由有重复的标签;任何应用程序中的模板标签库都可以从任何模板加载。您应该只拥有任何标签的一份副本。

也就是说,通常做的是创建一个模板标签APP来容纳所有模板标签。

只需构建一个名为标签、实用程序等的空白应用程序,然后将所有模板标签放入该应用程序中。

root/utils/templatetags

它甚至不需要 model.py/urls.py 就可以在 installed_apps 中运行。

于 2012-08-31T23:55:17.197 回答
0

您可以制作一个应用程序,其唯一目的是处理一些通用的事情,如模板标签或实用程序。有时我这样做并称之为“应用程序”。

但即使你保持原样,也没有理由复制模板标签,因为它们在所有模板中都可用。除非您打算将应用程序分解并在不同的项目中使用它们,否则只需将模板标签放在适当的应用程序中,然后从模板中加载它。

于 2012-09-01T00:19:05.837 回答