Когда я применял библиотеку перевода i18n
к своему проекту, я столкнулся со следующей ошибкой:
django .template.exceptions.TemplateSyntaxError: 'utility_tags' не является зарегистрированным тегом библиотека.
Но я не могу найти официальную документацию и форум по этой проблеме. Мой код здесь:
поиск. html
{% extends "base.html" %}
{% load i18n utility_tags %} <-- just pay attention to this
{% block content %}
<h2>{% trans "Search" %}</h2>
<form method="get" action="{{ request.path }}">
<div class="well clearfix">
{{ form.as_p }}
<p class="pull-right"><input type="submit" value="Search" class="btn btn-primary"></p>
</div>
</form>
{% if query %}
<h3>{% trans "Results" %}</h3>
{% for result in page.object_list %}
<p><a href="{{ result.object.get_url_path }}">{{ result.object.title }}</a></p>
{% empty %}
<p>{% trans "No results found." %}</p>
{% endfor %}
{% if page.has_previous or page.has_next %}
<nav>
<ul class="pager">
<li class="previous">
{% if page.has_previous %}
<a href="{% modify_query page=page.previous_page_number %}">
{% endif %}
<span aria-hidden="true">«</span>
{% if page.has_previous %}</a>{% endif %}
</li>
{% for num in page.paginator.page_range %}
<li>{% if num = page.number %} class="selected"{% endif %}>
<a href="{% modify_query page=num %}"> {{ num }}</a>
</li>
{% endfor %}
<li class="next">
{% if page.has_next %}
<a href="{% modify_query page=page.next_page_number %}">
{% endif %}
<span aria-hidden="true">»</span>
{% if page.has_next %}</a>{% endif %}
</li>
</ul>
</nav>
{% endif %}
{% endif %}
{% endblock %}
settings.py
# Application definition
INSTALLED_APPS = [
...
'haystack',
]
# Internationalization
# https://docs.djangoproject.com/en/3.0/topics/i18n/
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
LANGUAGE_CODE = "en-us"
LANGUAGES = (
("en-us", "US English"),
("es", "Español"),
("fr", "Français"),
("zh", "繁體中文"),
)
HAYSTACK_CONNECTIONS = {
'default_en': dict(
ENGINE='search.multilingual_whoosh_backend.' 'MultilingualWhooshEngine',
PATH=os.path.join(BASE_DIR, 'tmp/whoosh_index_en'
)),
'default_es': dict(
ENGINE='search.multilingual_whoosh_backend.' 'MultilingualWhooshEngine',
PATH=os.path.join(BASE_DIR, 'tmp/whoosh_index_es'
)),
'default_fr': dict(
ENGINE='search.multilingual_whoosh_backend.' 'MultilingualWhooshEngine',
PATH=os.path.join(BASE_DIR, 'tmp/whoosh_index_fr'
)),
'default_zh': dict(
ENGINE='search.multilingual_whoosh_backend.' 'MultilingualWhooshEngine',
PATH=os.path.join(BASE_DIR, 'tmp/whoosh_index_zh'
)),
}
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
'PATH': os.path.join(os.path.dirname(__file__), 'whoosh_index'),
},
}
needs.txt
asgiref==3.2.3
astroid==2.3.3
beautifulsoup4==4.8.2
colorama==0.4.3
Django==2.2.9
django-crispy-forms==1.8.1
django-haystack==2.8.1
html5lib==1.0.1
isort==4.3.21
lazy-object-proxy==1.4.3
mccabe==0.6.1
Pillow==6.2.1
psycopg2-binary==2.8.4
pylint==2.4.4
PyPDF2==1.26.0
pytz==2019.3
reportlab==3.5.32
six==1.13.0
soupsieve==1.9.5
sqlparse==0.3.0
typed-ast==1.4.0
webencodings==0.5.1
Whoosh==2.7.4
wrapt==1.11.2
xhtml2pdf==0.2.3
Любая помощь приветствуется.