Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 我可以将我的自定义模板标签文件夹移到我的应用程序之外吗?_Django_Django Template Filters - Fatal编程技术网

Django 我可以将我的自定义模板标签文件夹移到我的应用程序之外吗?

Django 我可以将我的自定义模板标签文件夹移到我的应用程序之外吗?,django,django-template-filters,Django,Django Template Filters,刚到Django。在Django中,我知道它说“自定义模板标记和过滤器必须存在于Django应用程序中。”。我将有4或5个应用程序,每个应用程序都有自定义模板标记(其中一些将与其他应用程序中的标记相同)。尽管如此,是否可以在项目的根目录下为所有模板标记创建一个主文件夹?似乎每个应用程序都有单独的文件夹违反了D.R.Y.。嗯,没有理由有重复的标签;任何应用程序中的模板标记库都可以从任何模板加载。任何标记都只能有一个副本 也就是说,通常要做的是创建一个模板标签应用程序来容纳所有模板标签 只需构建一个

刚到Django。在Django中,我知道它说“自定义模板标记和过滤器必须存在于Django应用程序中。”。我将有4或5个应用程序,每个应用程序都有自定义模板标记(其中一些将与其他应用程序中的标记相同)。尽管如此,是否可以在项目的根目录下为所有模板标记创建一个主文件夹?似乎每个应用程序都有单独的文件夹违反了D.R.Y.。

嗯,没有理由有重复的标签;任何应用程序中的模板标记库都可以从任何模板加载。任何标记都只能有一个副本

也就是说,通常要做的是创建一个模板标签应用程序来容纳所有模板标签

只需构建一个名为tags、utils等的空白应用程序,并将所有模板标记放在该应用程序中

root/utils/templatetags

它甚至不需要model.py/url.py就可以在已安装的应用程序中运行

你可以制作一个应用程序,它的唯一用途是处理一些通用的东西,比如模板标签或UTIL。有时我会这样做,并称之为“应用程序”

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