你如何让你的模板在 Flask 中使用特定的 css 文件?
admin.html = admin.css
user.html = user.css
我看过 Flask 文档,它们没有意义吗?
您可以在子模板中覆盖基本模板中的 <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>
管理员.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 %}
用户.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') }}">
您可以将要使用的 css 文件作为变量传递给模板。
{'css_file': 'admin.css'}
然后在模板中使用它:
<link rel="stylesheet" href="/css/{{ css_file }}" />