Django新手。在Django docs中,我知道它说“自定义模板标签和过滤器必须存在于Django应用程序中。”我将有4或5个应用程序,每个自定义模板标签(其中一些将是与其他应用程序相同的标签)。即便如此,是否可以在项目的根目录下为我的所有模板标签创建一个主文件夹?似乎每个应用程序都有单独的文件夹,这违反了D.R.Y。
发布于 2012-09-01 07:55:17
嗯,没有理由有重复的标签;任何应用程序中的模板标记库都可以从任何模板加载。任何标签都应该只有一个副本。
也就是说,通常要做的是创建一个模板标签应用程序来容纳所有的模板标签。
只需构建一个名为tags、utils等的空白应用程序,并将所有模板标记放入该应用程序中。
root/utils/templatetags它甚至不需要model.py/urls.py就能在installed_apps中运行。
发布于 2012-09-01 08:19:06
你可以制作一个应用程序,它的唯一目的是处理一些通用的东西,比如模板标签或实用工具。有时我会这样做,只是把它叫做"app“。
但是,即使您保持原样,也没有理由复制模板标记,因为它们在所有模板中都可用。除非你计划拆分应用程序并在不同的项目中使用它们,否则只需将模板标记放在适当的应用程序中,并从模板中加载它。
https://stackoverflow.com/questions/12222268
复制相似问题