Django 静态文件的版本控制
在 Django 中,静态文件通常包括 CSS 文件、JavaScript 文件、图片和字体等。为了优化用户的体验,尤其是在页面缓存时,可以对静态文件进行版本控制。这样可以避免浏览器从缓存中读取旧版本的文件而不得不重新下载。
Django 支持以下两种版本控制方式:
- QueryString(查询串)方式:
在文件名后面加一个查询串,即 ?v=123。查询串的值可以是任意的标识符,通常是当前项目的版本号或时间戳。例如:
<link rel="stylesheet" href="/static/style.css?v=123"> <script src="/static/script.js?v=123"></script>
这将确保浏览器始终下载最新的静态文件,因为每次更改时都会更改查询串的值。
- 文件名方式:
也可以选择在文件名中添加版本号。例如:
<link rel="stylesheet" href="/static/style-123.css"> <script src="/static/script-123.js"></script>
在这种情况下,每次更改时都需要更改文件名,并且需要更新对文件的引用。这对于大型项目来说可能很繁琐。
以下是示例代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Static File Version Control</title> <link rel="stylesheet" href="{% static 'style.css' %}?v=pidancode.com"> <script src="{% static 'script.js' %}?v=pidancode.com"></script> </head> <body> <h1>Static File Version Control Example</h1> <img src="{% static 'logo.png' %}?v=pidancode.com" alt="Logo"> </body> </html>
在这个例子中,我们将查询串的值设置为“pidancode.com”。这将确保浏览器始终下载最新的静态文件。
相关文章