如何让你的模板在Flask中使用特定的css文件?
admin.html = admin.css
user.html = user.css
我看过Flask的文档并且它们没有意义吗?
答案 0 :(得分:4)
您可以覆盖< head>子模板中基本模板中的部分。因此,每个用户页面都使用base.html模板中的css文件,只有admin.html使用其他文件。这在http://flask.pocoo.org/docs/patterns/templateinheritance/#template-inheritance
中有记录编辑: 也许你可以使用它:所有页面都来自base.html并使用base.css。只有user.html和admin.html覆盖head部分并包含base.css和特定的admin.css / user.css。
示例:
base.html:
<!doctype html>
<html>
<head>
{% block head %}
<link rel="stylesheet" href="{{ url_for('static', filename='base.css') }}">
{% endblock %}
</head>
<body>
<div id="content">{% block content %}{% endblock %}</div>
</body>
</html>
admin.html:
{% extends "base.html" %}
{% block head %}
<link rel="stylesheet" href="{{ url_for('static', filename='base.css') }}">
<link rel="stylesheet" href="{{ url_for('static', filename='admin.css') }}">
{% endblock %}
{% block content %}
content goes here
{% endblock %}
user.html:
{% extends "base.html" %}
{% block head %}
<link rel="stylesheet" href="{{ url_for('static', filename='base.css') }}">
<link rel="stylesheet" href="{{ url_for('static', filename='user.css') }}">
{% endblock %}
{% block content %}
content goes here
{% endblock %}
编辑: 如果将css文件存储在static /的子目录中,则必须编写如下链接:
<link rel="stylesheet" href="{{ url_for('static', filename='css/base.css') }}">
答案 1 :(得分:0)
您可以将css文件作为变量传递给模板。
{'css_file': 'admin.css'}
然后在模板中使用它:
<link rel="stylesheet" href="/css/{{ css_file }}" />