今天在学习Django模板中自定义filter的时候,出现了一个TemplateSyntaxError
错误。
提示 'my_tags'
不是一个注册的标签库,这通常意味着 Django 无法在项目的模板标签库目录中找到名为 my_tags
的标签库。
要解决这个问题首先要明白django是怎么查找标签库的
Django 的模板引擎在查找模板标签库时遵循一定的顺序和规则。
当你在模板中使用 {% load %}
标签时,Django 会按照以下步骤来查找和加载标签库:Django 首先会在项目的根目录下查找名为 templatetags
的目录,如果项目级别的 templatetags
目录中没有找到相应的标签库,Django 会继续在每个已安装的应用的 templatetags
目录中查找。
所以我们在注册的标签库就要填对响应的地址
'libraries': {
'my_tags': 'apps.web.templatetags.my_tags',
},
将上述代码添加到setting中,注意将 'apps.web.templatetags.my_tags',改为自己的my_tags文件的目录即可。
注:文章内容主要是记录学习过程中遇到的一些问题,以及解决方法。留个记录,同时分享给有需要的人。如有不足之处,欢迎指正,谢谢!