在Jinja2中,可以使用模板继承来创建可重用的模板块,并且可以通过Flask的静态文件功能来加载静态文件。
模板继承示例:
# 基础模板 base.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{% block title %}My Title{% endblock %}</title>
</head>
<body>
<div id="content">{% block content %}{% endblock %}</div>
<div id="footer">{% block footer %}Footer content{% endblock %}</div>
</body>
</html>
# 子模板 child.html
{% extends "base.html" %}
{% block title %}Child Page Title{% endblock %}
{% block content %}
<p>This is the child page content.</p>
{% endblock %}
加载静态文件示例:
假设你的Flask应用有一个static
文件夹,里面有style.css
和script.js
文件。
<!-- 在模板中加载CSS文件 -->
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
<!-- 在模板中加载JavaScript文件 -->
<script src="{{ url_for('static', filename='script.js') }}"></script>
在Flask应用中设置静态文件:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "Hello, World!"
if __name__ == "__main__":
app.run(debug=True)
确保你的应用目录结构如下所示:
/yourapplication
/static
style.css
script.js
app.py
在实际部署时,static
文件夹通常被配置在应用的根目录下,以便Flask可以自动发现并提供静态文件。