我遇到过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。
答案 0 :(得分:1)
您可以将所有模板扩展为一个layout.html
文件,然后使用if
语句通过访问request.endpoint
来为每个模板选择正确的CSS样式表,这基本上是视图功能呈现模板。
{% 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">