首页云计算Flask 静态文件处理

Flask 静态文件处理

时间2024-07-25 00:00:16发布ongwu分类云计算浏览52

1. 静态文件目录

Flask 默认会在应用的根目录下寻找一个名为 static 的文件夹,并将其作为静态文件存储目录。你可以通过 static_folder 参数来指定不同的静态文件目录路径

from flask import Flask app = Flask(__name__, static_folder=my_static)
2. 静态文件 URL 路径

默认情况下,静态文件可以通过 /static 路径访问。你可以通过 static_url_path 参数来更改这个路径

app = Flask(__name__, static_url_path=/assets)
3. 发送静态文件

Flask 提供了 send_static_file 方法来发送静态文件。这个方法会自动注册一个路由来处理静态文件的请求。

@app.route(/static/<path:filename>) def static_files(filename): return app.send_static_file(filename)
4. 测试静态文件

在编写测试时,可以使用 Flask 提供的测试客户端测试静态文件访问

def test_static_files(app, client): rv = client.get(/static/index.html) assert rv.status_code == 200 assert rv.data.strIP() == b"<h1>Hello World!</h1>" rv.close() 5. 配置静态文件缓存

你可以通过 SEND_FILE_MAX_AGE_DEFAULT 配置项来设置静态文件缓存时间。

app.config[SEND_FILE_MAX_AGE_DEFAULT] = 300 # 设置缓存时间为300秒 6. Blueprint 中的静态文件

在使用 Blueprint 时,也可以为每个 Blueprint 指定静态文件目录和 URL 路径

from flask import Blueprint admin_bp = Blueprint(admin, __name__, static_folder=admin_static, static_url_path=/admin/static) @admin_bp.route(/static/<path:filename>) def admin_static_files(filename): return admin_bp.send_static_file(filename)

通过以上方式,Flask 提供了灵活且强大的静态文件处理功能,满足不同应用场景的需求。

Ongwu博客 版权声明:以上内容未经允许不得转载!授权事宜或对内容有异议或投诉,请联系站长,将尽快回复您,谢谢合作!

展开全文READ MORE
FilmoraGo安卓版(万兴喵影手机版) v13.6.00 修改版 邬贺铨:协同行动方能发挥乘数效应,壮大产业链才能实现互利共赢

游客 回复需填写必要信息