Django 部署时无法识别自定义模板标签:如何解决?
django 部署时出现自定义模板标签无法识别错误
在使用 uwsgi 和 nginx 部署 django 项目时,可能会遇到无法识别自定义模板标签的错误。
错误信息
错误信息通常类似于:
templatesyntaxerror: could not parse the remainder: '{xiezhenfang} leftparen not allowed...'
其中 {xiezhenfang} 是自定义模板标签的名称。
原因
此错误通常是由于 django 在加载模板时找不到自定义模板标签所导致。
解决方案
要解决此问题,请确保在 template_options['builtins'] 中注册了自定义模板标签。
例如,如果自定义模板标签位于 apps.news.templatetags.news_filters 中,则 settings.py 中的配置应如下:
TEMPLATES = [ { 'OPTIONS': { 'builtins': [ 'django.templatetags.static', 'apps.news.templatetags.news_filters', ], }, },]
附加说明
如果在注册了自定义模板标签后仍然遇到错误,请检查以下内容: