当前位置: 首页 > news >正文

WhiteNoise的用法

彻底简化 Python Web 应用的静态文件服务

只需几行配置,WhiteNoise 便可让您的 Web 应用提供自己的静态文件,使其成为一个独立的单元,可部署在任何地方,而无需依赖 nginx、Amazon S3 或任何其他外部服务。(在 Heroku、OpenShift 和其他 PaaS 提供商上尤其有用。)

它旨在与高流量站点的 CDN 完美配合,因此您不必牺牲性能即可享受简单性。

WhiteNoise 可与任何兼容 WSGI 的应用程序配合使用,但针对 Django 有一些特殊的自动配置功能。

WhiteNoise 为您提供最佳实践,例如:

  • 提供压缩内容(gzip 和 Brotli 格式,正确处理 Accept-Encoding 和 Vary 标头)

  • 对不会改变的内容设置未来缓存标头

要求

WhiteNoise 可与任何兼容 WSGI 的应用程序配合使用。

支持 Python 3.8 至 3.13。

支持 Django 4.2 到 5.2。

安装

安装方式:

pip install whitenoise

Django 应用快速入门

编辑您的settings.py文件并将 WhiteNoise 添加到列表中,除了 Django 的SecurityMiddlewareMIDDLEWARE 之外,它位于所有其他中间件之上:

MIDDLEWARE = [
    # ...
    "django.middleware.security.SecurityMiddleware",
    "whitenoise.middleware.WhiteNoiseMiddleware",
    # ...
]

就这样,您就可以开始了。

想要永久缓存文件和压缩支持?只需将其添加到您的设置文件中:

 
STORAGES = {
    # ...
    "staticfiles": {
        "BACKEND": "whitenoise.storage.CompressedManifestStaticFilesStorage",
    },
}

配置好这些 然后收集静态文件

python manage.py collectstatic 

相关文章:

  • flutter 网络请求封装与json序列化与反序列化
  • FPGA开发,使用Deepseek V3还是R1(5):temperature设置
  • C++(四)类与对象 下
  • 特辣的海藻!7
  • 深入浅出理解编译器:前端视角
  • 477. 汉明距离总和
  • 基于RKNN的嵌入式深度学习开发(2)
  • 计算机网络---TCP三握四挥
  • 基于Ollama安装deepseek-r1模型搭建本地知识库(Dify、MaxKb、Open-WebUi、AnythingLLM、RAGFlow、FastGPT)
  • 钉钉小程序(企业内部应用)开发--钉钉小程序web-view嵌套H5与小程序之间的通信(H5跳转钉钉小程序小程序postMessage)
  • 计算机毕业设计SpringBoot+Vue.js保险合同管理系统(源码+文档+PPT+讲解)
  • 相机引导2_两个固定相机引导机器人把芯片装入外壳
  • 【清晰、易操作、好用】Latex简历模板-个人求职升学版
  • java常见面试01
  • Opaque和Transparent
  • 算法:判断链表是否有环
  • 大模型推理时的尺度扩展定律
  • Day13,Hot100(数学技巧)
  • ARM 架构下 cache 一致性问题整理
  • Window C++模拟单片机控制TFT屏幕和SD卡
  • 福田网站建设设计/深圳推广平台深圳网络推广
  • 工信部网站备案批准文件/软文范例大全500字
  • 哪些网站教你做美食的/网络营销方式有几种
  • 政府网站建设可行性研究报告 baidu/衡阳seo优化推荐
  • 网站的下拉列表怎么做/企业网站制作开发
  • 珠海做网站的公司有哪些/关键词搜索排名查询