Flask 静态文件处理

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 提供了灵活且强大的静态文件处理功能,满足不同应用场景的需求。

相关推荐

  1. Flask 静态文件处理

    2024-07-15 23:08:01       18 阅读
  2. Flask 自定义template和静态文件路径

    2024-07-15 23:08:01       55 阅读
  3. flask报错处理

    2024-07-15 23:08:01       35 阅读
  4. django收集静态文件

    2024-07-15 23:08:01       38 阅读
  5. Django --静态文件

    2024-07-15 23:08:01       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 23:08:01       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 23:08:01       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 23:08:01       57 阅读
  4. Python语言-面向对象

    2024-07-15 23:08:01       68 阅读

热门阅读

  1. C语言 冒泡排序

    2024-07-15 23:08:01       20 阅读
  2. 网线8芯分开4芯一组

    2024-07-15 23:08:01       22 阅读
  3. js实现文件的分片上传

    2024-07-15 23:08:01       21 阅读
  4. Linux高级IO流详解

    2024-07-15 23:08:01       20 阅读
  5. 10个使用Numba CUDA进行编程的例子

    2024-07-15 23:08:01       18 阅读
  6. OSINT技术情报精选·2024年7月第2周

    2024-07-15 23:08:01       16 阅读
  7. 第一个AI应用(文心智能体平台)

    2024-07-15 23:08:01       16 阅读
  8. pytorch学习--使用m1 进行训练

    2024-07-15 23:08:01       18 阅读