Jinja - 为每个扩展模板使用不同的 css

Bil*_*win 2 jinja2 flask

我遇到了 Flask-Appbuilder,因为它可以解决我的问题。我试图为每个模板加载不同的 css,其中只有骨架保持不变。

我找到了这个解决方案https://flask-appbuilder.readthedocs.io/en/latest/templates.html

然而它不起作用。无论如何不适合我。我用过pip3 install flask-appbuilder,一切都很顺利。我在 templates 目录中创建了 appbuilder 目录。然后我用了:

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

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

可能是什么原因造成的?就好像block head_css完全被忽略了。仅加载基本的 bootstrap css。

sim*_*cci 5

您可以拥有由所有模板扩展的单个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">
{% endif %}
Run Code Online (Sandbox Code Playgroud)