TemplateSyntaxError после добавления темы Django Admin с помощью модуля Jazzmin

Я добавил тему админ-панели Django в свой проект, используя модуль django-jazzmin. Изначально она работает нормально, но когда я пытаюсь получить доступ к некоторым опциям в панели администратора (например, "Пользователи" или "Профиль"), я сталкиваюсь со следующей ошибкой:

TemplateSyntaxError at /admin/booking/bookedseat/53/change/ Invalid filter: 'length_is'

и вот мой html код

<div class="form-group{% if line.fields|length_is:'1' and line.errors %} errors{% endif %}{% if not line.has_visible_field %} hidden{% endif %}{% for field in line %}{% if field.field.name %} field-{{ field.field.name }}{% endif %}{% endfor %}">

Из того, что я прочитал в Интернете, кажется, что тема может быть устаревшей или не полностью совместимой с Django 5, но я не совсем уверен. В настоящее время я застрял и не уверен, как решить эту проблему.

Кто-нибудь еще сталкивался с этой проблемой? Посоветуйте, как исправить ошибку шаблона, или предложите альтернативные темы, которые хорошо работают с Django 5?

Подробности:

<<<0><>>Django версии: 4.2 Версия Jazzmin: django-jazzmin-3.0.0

Заранее спасибо за любую помощь!

Вопросы:

Кто-нибудь сталкивался с этой проблемой при работе Jazzmin на Django 5?

Существует ли известное исправление или обходной путь для устранения этой ошибки фильтра length_is при использовании Jazzmin?

Может ли понижение версии Django или внесение изменений в шаблоны Jazzmin быть приемлемым решением?

Есть два решения, которые мне помогли.

  1. Один понижает версию с Django==5.1 до Django==5.0
  2. добавьте это в @register.filter(name="length_is") def length_is(value: Any, length: str | int) -> bool: return len(value) == int(length) в jazzmin.py, найденный в lib/python3.11/site-packages/jazzmin/templatetags в моем виртуальном окружении, настройте версию python на вашу.

Надеюсь, это поможет вам.

Проблема в том, что начиная с версии 5.1, некоторые шаблонные теги, которые в настоящее время используются в админ-панели Django-Jazzmin, были удалены. Из-за этого вы сталкиваетесь с исключениями.

Вы можете либо перейти на более раннюю версию Django, либо вручную настроить templatetags в Django-Jazzmin, чтобы избежать исключений, вызванных удалением этих тегов шаблонов в более новых версиях.

Lib/site-packages/jazzmin/templatetags/jazzmin.py и просто добавьте этот код

@register.filter(name='length_is')
def length_is(value, arg):
    return len(value) == int(arg)
Вернуться на верх