从自定义位置加载django templatetags

时间:2014-04-28 14:49:42

标签: django django-templates

我正在尝试从非标准位置加载自定义模板标记,即。不是来自project.myapp.templatetags,而是来自 project.myapp.extra_level.templatetags

我可以使用django.template.base.add_to_builtins全局加载它们,但这只是不好的做法恕我直言。

from django.template.base import add_to_builtins
add_to_builtins('myapp.extra_level.templatetags.custom_tags')

由于不存在类似于“TEMPLATE_DIRS”的设置,我不得不发挥创意。像这样的选项可以节省生命:)

第一个想法是使用与load_all_installed_template_libraries类似的django.contrib.admindocs.views并将其加载到我的设置中,但当然我得到“RuntimeError:App注册表尚未就绪。”。

另一个想法是在project.myapp.__init__中加载那些更深层次的模板标签(对于project.myapp.extra_level.templatetags中的所有模板标签库),但模板标签库的加载基于文件。

有任何方法可以实现这一目标吗?也许我可以通过__init__文件以某种方式伪造更深层次的文件并伪造它们?或者有更好的方法从自定义位置加载模板标签吗?

0 个答案:

没有答案