/messages/inbox/'account_tags' 处的 TemplateSyntaxError 不是已注册的标签库。必须是以下之一:

TemplateSyntaxError at /messages/inbox/ 'account_tags' is not a registered tag library. Must be one of:

我正在使用 pinax_messages 和 pinax_templates。

我无法访问页面:http://127.0.0.1:8000/messages/inbox/

我收到一个奇怪的错误,我不明白这个问题。

我收到错误:

TemplateSyntaxError at /messages/inbox/
'account_tags' is not a registered tag library. Must be one of:
admin_list
admin_modify
admin_urls
bootstrap
cache
crispy_forms_field
crispy_forms_filters
crispy_forms_tags
crispy_forms_utils
i18n
l10n
log
pinax_messages_tags
static
tz

我无法在 google 上找到任何帮助。

{% load i18n %}
{% load account_tags %}


<ul class="account-bar">
    {% if request.user.is_authenticated %}
        <li class="user">
            <i class="fas fa-user"></i>
            {% user_display request.user %}
        </li>
        <li class="settings">
            <a href="{% url 'account_settings' %}">
                <i class="fas fa-cog"></i>
                {% trans "Settings" %}
            </a>
        </li>
        <li class="logout">
            <a id="account_logout" href="{% url 'account_logout' %}">
                <i class="fas fa-power-off"></i>
                {% trans "Log out" %}
            </a>
        </li>
    {% else %}
        <li><a href="{% url 'account_login' %}">{% trans "Log in" %}</a></li>
        {% if ACCOUNT_OPEN_SIGNUP %}
            <li><a href="{% url 'account_signup' %}">{% trans "Sign up" %}</a></li>
        {% endif %}
    {% endif %}
</ul>

<form id="accountLogOutForm" style="display: none;" action="{% url 'account_logout' %}" method="POST">
    {% csrf_token %}
</form>

您正在尝试在您的模板中加载 account_tags,例如 {% load account_tags %}。但是这个标签库没有注册

您必须在 INSTALLED_APPS 中添加 app of account_tags

或者将其添加到 settings.py:

TEMPLATES = [
    {   
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            ...
        ],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                ...
            ],
            'libraries': {
                <b>'account_tags': 'myapp.templatetags.account_tags',</b>
            },
        },
    },
]

我认为您正在使用 django-user-accounts ,所以我认为您没有使用 pip 安装 django-user-accounts ,或者您可能忘记将其注册到设置文件

INSTALLED_APPS = (
    # ...
    "account",
    # ...
)

还有模板上下文处理器

TEMPLATE_CONTEXT_PROCESSORS = [
    ...
    "account.context_processors.account",
    ...
]

还有中间件

MIDDLEWARE_CLASSES = [
    ...
    "account.middleware.LocaleMiddleware",
    "account.middleware.TimezoneMiddleware",
    ...
]