Django:调试模板标签

Posted

技术标签:

【中文标题】Django:调试模板标签【英文标题】:Django : debugging templatetags 【发布时间】:2010-11-29 20:44:48 【问题描述】:

人们到底是如何调试 Django 模板标签的?

我创建了一个,基于一个工作示例,我的新标签在我看来与现有标签相同。但我只是得到一个

'my_lib' is not a valid tag library: Could not load template library from django.templatetags.my_lib, No module named my_lib

我知道这可能是因为在定义库时出现了一些问题。但是我如何查看发生了什么?

你用什么来调试这种情况?

【问题讨论】:

【参考方案1】:

这听起来像 Django 找不到定义模板标签的 python 文件。Django 在你的应用程序文件夹中名为 templatetags 的文件夹中找到自定义标签。

因此,如果您有一个名为 Books 的应用,并且您在模板中调用 % load book_tags %,那么您的 Books 应用文件夹应如下所示:

书籍 __init__.py views.py models.py 模板标签 __init__.py book_tags.py

确保__init__.py 文件在模板标签中。

【讨论】:

图书应用也必须在 INSTALLED_APPS 设置中。模板标签加载器从上到下查看每个已安装应用程序中的每个“模板标签”目录。 谢谢大家。好建议。实际上我发现了问题:我的文件与包含的库的名称不同。我愚蠢地认为 % load .. % 中的名称是应用程序的名称。

以上是关于Django:调试模板标签的主要内容,如果未能解决你的问题,请参考以下文章

如何调试 Jinja2 模板?

Django内置模板标签

在自定义模板标签中解析 Django 自定义模板标签

html Django模板查询调试

html 在模板中调试django变量

当模板调试设置为 False 时,Django 上的服务器错误(500)?