为了账号安全,请及时绑定邮箱和手机立即绑定

自定义标签(模板标签)未加载

自定义标签(模板标签)未加载

婷婷同学_ 2022-05-11 14:47:31
我正在尝试创建一个模板标签,以便找出当前用户所属的组。我在另一个项目中进行了相同的设置,但那个正在工作,但这个没有。这就是我所拥有的:项目结构:- root_directory-- myproject--- home---- templatetags----- __init__.py----- custom_tags.py---- __init__.py---- urls.py---- ...--- myproject---- settings.py---- ...设置.py:INSTALLED_APPS = [    .....    'home.templatetags',]custom_tags.py:from django import templateregister = template.Library()@register.filterdef has_group(user, group_name):    return user.objects.filter(group_name=group_name).home_base.html:{% extends 'navbar.html' %}{% block content %}    {% load custom_tags %}{% endblock %}追溯:Internal Server Error: /Traceback (most recent call last):  File "D:\Projects\1-2-1\monthlymeeting\venv\lib\site-packages\django\template\defaulttags.py", line 1021, in find_library    return parser.libraries[name]KeyError: 'custom_tags'我尝试了以下方法:改造整个项目。删除所有 .pyc 文件。尝试在 settings.py 中将其作为 myproject.home.templatetags 和 home.templatetags.custom_tags 导入。重启服务器、浏览器、PC。我在模板标签中的初始化文件是空的我从 PyCharm 中删除了 templatetags 文件夹,从 PyCharm 将其重新创建为 Python 包(以及目录)。从 manage.py shell 中,我尝试使用 from 导入home.templatetags import custom_tags,它加载时没有任何错误。相同的结构适用于我拥有的另一个项目。我不知道发生了什么事。唯一不同的是,这个项目是Django 2.2.4,另一个是2.2.3。而且这个项目有一个额外的应用程序django-contrib-comments。我一直在尝试解决这个问题,并且我已经用尽了我可以在网上找到的所有方法。
查看完整描述

1 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

您需要{% load %}在模板中添加自定义标签。

  • 从中删除,INSTALLED_APPS因为这仅适用于应用程序(但您的应用程序绝对应该在那里,例如home

  • {% load custom_tags %}使用这些标签在模板顶部添加。


查看完整回答
反对 回复 2022-05-11
  • 1 回答
  • 0 关注
  • 159 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信