jsdelivr 托管 Django 项目静态文件

Updated on 22 十二月 2021

jsdelivr 的 ICP 备案已被取消, 参见 #18348 , 不建议使用 jsdelivr CDN(正在使用的用户应该尽快迁移到其他的供应商)。

jsdelivr 0 是一个 免费、快速、稳定,为开源社区创建的 CDN 1 , 它从2012年就开始为开源社区提供服务, 每天处理超过 50 亿请求。

jsdelivr 不仅可以代理任意 GitHub 仓库 而且 允许商业使用。

因此我们完全可以使用它来托管 Django 2 项目的静态文件。

警告

jsdelivr 3 对单一仓库 文件的数量 和 大小均有限制。 不适合用于托管大量的媒体文件。

jsdelivr CDN 托管 Django 静态文件

  1. 在 GitHub 上创建一个 仓库

    例如奇遇淘客的静态文件Git仓库: https://github.com/QiYuStatic/tbk

  2. 上传 Django 项目的 static 文件内容到 创建的仓库中

    使用 django collect-static 命令收集 Django 项目所有使用的静态文件, 然后把这些文件 复制/上传 到创建的 Git 仓库中。

  3. 修改 Django 项目配置 使用 jsdelivr 内容

    更改 STATIC_URL 配置

    STATIC_URL = "https://cdn.jsdelivr.net/gh/QiYuStatic/tbk@main/v1"
    

    警告

    您项目中实际使用的 STATIC_URL 应该使用 https://www.jsdelivr.com/github 来进行转换。

    小技巧

    保存静态文件到 GitHub 时,最好使用 v1, v2, v3 等子目录来存储 Django 项目中的静态文件。 如果您直接使用 项目的 根目录保存,在项目更新时,jsdelivr 的缓存有可能导致前端代码有问题。

  4. 重新部署 Django 项目

    部署项目,检查是否已经正确使用了 jsdelivr CDN

参考资料

0

jsdelivr 官网

1

CDN – 百度百科

2

Django 官网

3

jsdelivr 使用政策