Проблема с расширением шаблона входа в систему Flask-Security

Я использую Flask-Security в своем проекте и хотел бы расширить предлагаемые им шаблоны (а именно логин), чтобы стилизовать их с помощью пользовательского CSS. Следуя документации, я изменил значение конфигурации SECURITY_LOGIN_USER_TEMPLATE, чтобы оно указывало на мой шаблон. В этом шаблоне я расширяю шаблон, предоставленный Flask-Security ("security/login_user.html"), и изменяю содержимое некоторых блоков, которые он определяет (или его основу).

Мой шаблон отображается так, как ожидалось (выглядит как стандартный "security/login_user.html"), единственная проблема заключается в том, что блоки, которые я пытаюсь перезаписать, не перезаписываются.

Мой шаблон выглядит так: login.html:

{% extends "security/login_user.html" %}

{% block content %}
<p>There should be no form.</p>
{% endblock content %}

Чтобы подтвердить, что я не отображаю исходный шаблон, я попытался изменить содержимое файла шаблона на пустое, и он работает должным образом - ничего не отображается.

Что мне не хватает?

Новые приложения с использованием ChatGPT
Новые приложения с использованием ChatGPT
Я собираюсь вернуться к теме, которую уже освещал ранее, - чатгпт.
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Другой маршрут в Flask Python
Другой маршрут в Flask Python
Flask - это фреймворк, который поддерживает веб-приложения. В этой статье я покажу, как мы можем использовать @app .route в flask, чтобы иметь другую...
1
0
126
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Поработав некоторое время с отладчиком, я понял, что что-то не так с пакетом Flask-Security, доступным на PyPi. При разработке своего проекта я опирался на исходный код, который присутствует на их официальном гитхаб-страница. Если вы посмотрите на шаблон входа в систему, вы заметите, что он действительно расширяет базовый шаблон, который обеспечивает определение блоков, которые вы можете позже перезаписать.

Однако, когда вы загружаете пакет из ПиПи, а затем проверяете шаблон, вы замечаете, что он отличается - он не использует наследование Jinja2 и не использует какие-либо блоки, поэтому проблема описана в вопросе.

Другими словами, пакет PyPi отражает последнюю стабильную версию (как отметил ник-k9), которая значительно отличается от ветки разработки.

Пакет использует версию 3.0.0, которая сохранена в 3.0.0 тег на Github. Но когда вы посещаете Github, вы видите ветку по умолчанию развивать. Я вижу, как вы будете сбиты с толку, но PyPi не устарел. 3.0.0 — последняя стабильная версия.

Nick K9 05.07.2019 14:53

Другие вопросы по теме