我尝试在django中注册我的自定义模板标记库,但不幸的是它无法正常工作!
我想创建一个自定义include-tag并按照以下说明操作: https://docs.djangoproject.com/en/1.11/howto/custom-template-tags/#howto-custom-template-tags-inclusion-tags
我创建了一个名为'tag_lib'的应用程序(安装在settings.py中)以放入我的模板标签。在app文件夹中有一个名为'templatetags'的字典,其中包含空__init__.py
和我的{{1 }}
my_tags.py
包含:
my_tags.py
当我重新启动我的devserver并尝试使用
加载库时from django import template
register = template.Library()
@register.inclusion_tag(filename='navbar.html', takes_context=True)
def navbar_context(context):
return {
'some_var': context['some_var'],
}
在模板中,我收到错误:`
{% load my_tags %} `
我知道哪里弄错了?
感谢。
答案 0 :(得分:4)
我遇到了这个问题。我做的只是停止服务器运行并再次运行它。似乎django在运行server.hope时没有初始化标签(或一般资源)它有帮助。
答案 1 :(得分:3)
根据Django文档:
开发服务器不会在添加templatetags模块后自动重启,您需要先重新启动服务器,然后才能使用模板中的标记或过滤器。
因此,要解决此问题,您需要重新启动开发服务器。
来源:https://docs.djangoproject.com/en/3.0/howto/custom-template-tags/#code-layout
答案 2 :(得分:0)
提醒一下,在Windows下使用django时,必须至少在以下两种情况下重新启动开发服务器(python.exe manage.py runserver):
希望这会有所帮助