Jinja - Использование разных CSS для каждого расширенного шаблона - PullRequest
0 голосов
/ 02 октября 2018

Я сталкивался с Flask-Appbuilder, поскольку он мог решить мою проблему.Я пытаюсь загрузить разные CSS для каждого шаблона, где только скелет остается прежним.

Я нашел это решение https://flask -appbuilder.readthedocs.io / en / latest / templates.html

Однако это не работает.Во всяком случае, не для меня.Я использовал pip3 install flask-appbuilder и все прошло нормально.Я создал каталог appbuilder в каталоге шаблонов.Тогда я использовал:

{% extends 'appbuilder/base.html' %}

{% block head_css %}
    {{ super() }}
    <link rel="stylesheet" href="url_for('static',filename='css/your_css_file.css')}}">
{% endblock %}

что может быть причиной проблемы?Это как block head_css полностью игнорируется.Загружается только базовый загрузочный css.

1 Ответ

0 голосов
/ 02 октября 2018

Вы можете иметь один layout.html файл, расширенный всеми шаблонами, а затем использовать операторы if для выбора правильной таблицы стилей CSS для каждого шаблона путем доступа к request.endpoint, который в основном является функцией представления, которая отображает шаблон.

{% if request.endpoint == 'index' %}
    <link href="{{ url_for('static', filename='main.css') }}" rel="stylesheet" type="text/css">
{% elif request.endpoint == 'another' %}
    <link href="{{ url_for('static', filename='another.css') }}" rel="stylesheet" type="text/css">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...