【问题标题】:How to load site-wide static files in Django only once?如何在 Django 中只加载一次站点范围的静态文件?
【发布时间】:2017-03-07 17:10:00
【问题描述】:

我有多个扩展基本模板 base.html 的网页。

base.html 中我加载了多个 JavaScript 文件(一些从静态目录中检索,一些从 CDN 中检索):

<script src="/path/to/file.js"></script>

<script src="cdn-website.com/path/to/file.js"></script>

似乎每次我单击指向扩展 base.html 的页面的链接时,都必须再次请求 JavaScript 文件,这需要 1-2 秒,因此每个页面的加载速度都很慢。

有什么解决方法吗?

【问题讨论】:

  • 不,因为网页就是这样工作的。

标签: javascript django html templates


【解决方案1】:

这取决于服务器 - 当您使用 python manage.py runserver 时,该行为是有意的,因为您实际上希望所有文件都能正确更新。当您在前面使用像 nginx 这样的 http 服务器时,请参见此处:Django Nginx static file caching on browser

nginx 将使用 HTTP 标头告诉连接的浏览器特定文件应该有效多长时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-09
    • 2022-07-05
    • 1970-01-01
    • 2013-09-16
    • 1970-01-01
    • 2015-04-25
    • 1970-01-01
    • 2010-12-14
    相关资源
    最近更新 更多