テンプレートで 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>
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') }}">
使用する css ファイルを変数としてテンプレートに渡すことができます。
{'css_file': 'admin.css'}
次に、テンプレートで使用します。
<link rel="stylesheet" href="/css/{{ css_file }}" />