如何覆盖所有模板的flask_admin样式?

时间:2018-05-06 10:27:13

标签: python html css jinja2 flask-admin

我正在使用简单的Web应用程序,而对于数据库显示,我使用 Flask_admin 模块。 我想将自定义CSS应用于我的所有模板,例如自定义navar与蓝色边框。这就是我的index.html模板的样子:

{% block head %}
    {{ super() }}
.navbar {
  border-color: #019ced;
  border-width: 1px;
  border-radius: 0;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  border-top: none;
  box-shadow: none;
}
{% endblock %}

它工作正常,但我想将此自定义导航栏样式应用于所有模板。

我试图使用master.html

来做到这一点
{% extends 'admin/base.html' %}
{% block head_css %}
{{ super() }}
.navbar {
  border-color: #019ced;
  border-width: 1px;
  border-radius: 0;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  border-top: none;
  box-shadow: none;
 }
 {% endblock %}

然后从 index.html 中扩展而没有任何成功。 我想我可以为从父级继承的每个视图定义自定义模板,并覆盖head部分,其中我包含自定义导航栏的CSS文件,但我正在寻找更简单的方法。

请告诉我从基本模板定义,创建和继承的正确方法是什么,我可以在其中定义自定义CSS。提前谢谢。

1 个答案:

答案 0 :(得分:2)

您的master.html文件应如下所示:

{% extends admin_base_template %}
{% block head_css %}
    {{ super() }}
    <style>
        .navbar {
            border-color: #019ced;
            border-width: 1px;
            border-radius: 0;
            border-bottom-left-radius: 20px;
            border-bottom-right-radius: 20px;
            border-top: none;
            box-shadow: none;
        }
    </style>
{% endblock %}