📅  最后修改于: 2023-12-03 15:23:35.208000             🧑  作者: Mango
在使用 Flask 构建 Web 应用程序时,经常需要在 HTML 页面中链接自定义CSS,这有助于我们美化网页,让其更加美观和易于使用。
在 Flask 中,可通过路由实现不同 URL 地址的响应。在应用程序中,可通过 route()
装饰器指定 URL 地址和 HTTP 请求方法,例如:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello World'
本例中,将 route()
装饰器用于 index()
函数,使其响应应用程序的根 URL http://localhost:5000/
。在浏览器中访问该 URL,应该看到 "Hello World" 的输出。
为了链接自定义 CSS 文件,需在 HTML 文件中使用 link
元素来指定 CSS 文件的位置。
<!doctype html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='styles.css') }}">
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
本例中,在 <head>
元素中使用了 link
元素。rel
属性用于指定链接的文件类型,type
属性用于指定链接的 MIME 类型,href
属性用于指定链接的文件路径。
在这里,我们使用了 Flask 的内置函数 url_for()
来生成 CSS 文件的 URL。该函数使用了 Flask 应用程序的静态文件夹 static
中的 styles.css
文件。
为了使 Flask 应用程序能够访问静态文件,例如 CSS、JavaScript 和图像文件,需在应用程序的根目录下创建一个名为 static
的文件夹。
my_app/
__init__.py
static/
styles.css
templates/
index.html
在这里,我们创建了一个名为 static
的文件夹,并在其中放置了 styles.css
文件。应用程序使用 Flask 的内置函数 send_from_directory()
来将静态文件夹中的文件发送给浏览器。
from flask import Flask, send_from_directory
app = Flask(__name__)
@app.route('/static/<path:path>')
def send_static(path):
return send_from_directory('static', path)
@app.route('/')
def index():
return render_template('index.html')
在这里,我们创建了一个名为 send_static()
的视图函数,该函数接收一个路径参数,将静态文件夹中的文件发送给浏览器。
完整代码如下:
from flask import Flask, render_template, send_from_directory
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/static/<path:path>')
def send_static(path):
return send_from_directory('static', path)
现在,我们已经成功链接了自定义 CSS 文件,并将其发送给了浏览器。
在 Flask 中,可通过路由实现不同 URL 地址的响应,通过静态文件夹可以使应用程序能够访问静态文件。通过链接自定义 CSS 文件,我们可以使 Web 应用程序更加美观和易于使用。