Django.template.exceptions.TemplateSyntaxError: Недопустимый блочный тег в строке 24: 'trans'. Вы забыли зарегистрировать или загрузить этот тег?

Мой вопрос связан с приложением DJANGO

После разработки кода с использованием возможности локали {% trans 'value' %} тег в правильном порядке все работает нормально, пока я не включил DEBUG = False в settings.py.Следующая ошибка:

django.template.exceptions.TemplateSyntaxError: Invalid block tag on line 24: 'trans'. Did you forget to register or load this tag?

Приложение заблокировано, показывая следующее сообщение на экране.

A server error occurred.  Please contact the administrator.

На сервере появилось следующее сообщение.

Traceback (most recent call last):
  File "C:\Python38\lib\wsgiref\handlers.py", line 137, in run
    self.result = application(self.environ, self.start_response)
  File "C:\Python38\lib\site-packages\django\core\handlers\wsgi.py", line 133, in __call__
    response = self.get_response(request)
  File "C:\Python38\lib\site-packages\django\core\handlers\base.py", line 130, in get_response
    response = self._middleware_chain(request)
  File "C:\Python38\lib\site-packages\django\core\handlers\exception.py", line 49, in inner
    response = response_for_exception(request, exc)
  File "C:\Python38\lib\site-packages\django\core\handlers\exception.py", line 103, in response_for_exception
    response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
  File "C:\Python38\lib\site-packages\django\core\handlers\exception.py", line 142, in handle_uncaught_exception
    return callback(request, **param_dict)
  File "C:\Python38\lib\site-packages\django\utils\decorators.py", line 130, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "C:\Python38\lib\site-packages\django\views\defaults.py", line 88, in server_error
    template = loader.get_template(template_name)
  File "C:\Python38\lib\site-packages\django\template\loader.py", line 15, in get_template
    return engine.get_template(template_name)
  File "C:\Python38\lib\site-packages\django\template\backends\django.py", line 34, in get_template
    return Template(self.engine.get_template(template_name), self)
  File "C:\Python38\lib\site-packages\django\template\engine.py", line 143, in get_template
    template, origin = self.find_template(template_name)
  File "C:\Python38\lib\site-packages\django\template\engine.py", line 125, in find_template
    template = loader.get_template(name, skip=skip)
  File "C:\Python38\lib\site-packages\django\template\loaders\cached.py", line 53, in get_template
    template = super().get_template(template_name, skip)
  File "C:\Python38\lib\site-packages\django\template\loaders\base.py", line 29, in get_template
    return Template(
  File "C:\Python38\lib\site-packages\django\template\base.py", line 155, in __init__
    self.nodelist = self.compile_nodelist()
  File "C:\Python38\lib\site-packages\django\template\base.py", line 193, in compile_nodelist
    return parser.parse()
  File "C:\Python38\lib\site-packages\django\template\base.py", line 472, in parse
    self.invalid_block_tag(token, command, parse_until)
  File "C:\Python38\lib\site-packages\django\template\base.py", line 531, in invalid_block_tag
    raise self.error(
django.template.exceptions.TemplateSyntaxError: Invalid block tag on line 24: 'trans'. Did you forget to register or load this tag?

Вот мои settings.py

Вот пример моего шаблона base.html.

{% load i18n %}
<!DOCTYPE html>
{% load pwa %}
{% load static %}
<html lang="{% trans "en" %}">
<head>
<title>{% block title %}{% endblock %}</title> 
</head>

<body>
</body>
    
</html>

В коде есть несколько тегов с {% trans 'value' %} и все синтакс корректны.

Есть идеи по этому вопросу?

Вот решение, которое я нашел.

  1. После переключения DEBUG=False в settings.py, страницы ошибок будут включены в процесс runserver. В первой строке моего шаблона 404.html и шаблона 500.html я забыл включить {% load i18n %}. Я включил это и готово. Способ определить это был предложен @BrianDestura, который предложил изменить тег trans на translate, что я и сделал. Спасибо @BrianDestura.
  2. .
  3. После изменения, в производственной конфигурации необходимо выполнить python manage.py collectstatic для обновления путей. Это интересно, потому что в режиме Debug все ссылки были в порядке. Спасибо @raphael за ваш вклад здесь.Хорошую ссылку на отсутствующие файлы я нашел в (ValueError: Missing staticfiles manifest entry for 'favicon.ico')
Вернуться на верх