Django -- Python -- 如何在一个项目中的所有应用程序之间共享一个全局模板标签

Posted

技术标签:

【中文标题】Django -- Python -- 如何在一个项目中的所有应用程序之间共享一个全局模板标签【英文标题】:Django -- Python -- How to have a global templatetags shared among all my apps in one project 【发布时间】:2010-10-27 12:17:35 【问题描述】:

假设我有:

proj1/app1
proj1/app1/templatetags/my_shared_tags.py
proj1/app2
proj1/templates
proj1/templates/app1/index.html
proj1/templates/app2/index.html

现在,我如何在我的 app2 中重用来自 app1 的 my_shared_tag.py 的标签。

【问题讨论】:

Jim 的回答是正确的,没有什么能阻止您使用所有模板标签。也许你忘记了 % load ... % ? 【参考方案1】:

你试过吗?

我很确定您可以使用 django 开箱即用的所有模板中的所有模板标签 :)

【讨论】:

我确实尝试过。错误提示找不到标签。我用过: % load my_shared_tags % % load app1/my_shared_tags % % load app1/templatetags/my_shared_tags % 不走运。我想知道是否可以将项目范围的模板标签放在 proj1/templatetags/my_shared_tags.py 下并让所有应用程序都使用它。如果你有确切的语法,那就太好了。 还有几件事要检查:是否安装了包含模板标签的应用程序?模板标签目录是否包含“init.py”文件?

以上是关于Django -- Python -- 如何在一个项目中的所有应用程序之间共享一个全局模板标签的主要内容,如果未能解决你的问题,请参考以下文章

python 如何在Django迁移文件中创建一个函数

python 如何在Django迁移文件中创建一个函数

如何在 Python 中创建一个行为类似于 Django 抽象基类的类?

Django 模板:如何最好地抑制在 Django 模板中执行 python 代码的输出?

Django -- Python -- 如何在一个项目中的所有应用程序之间共享一个全局模板标签

python - 如何在python Django框架中只强制一个进程的运行实例?