Django 静态文件的版本控制

2023-04-11 00:00:00 版本 静态 控制

在 Django 中,静态文件通常包括 CSS 文件、JavaScript 文件、图片和字体等。为了优化用户的体验,尤其是在页面缓存时,可以对静态文件进行版本控制。这样可以避免浏览器从缓存中读取旧版本的文件而不得不重新下载。

Django 支持以下两种版本控制方式:

  1. QueryString(查询串)方式:
    在文件名后面加一个查询串,即 ?v=123。查询串的值可以是任意的标识符,通常是当前项目的版本号或时间戳。例如:
<link rel="stylesheet" href="/static/style.css?v=123">
<script src="/static/script.js?v=123"></script>

这将确保浏览器始终下载最新的静态文件,因为每次更改时都会更改查询串的值。

  1. 文件名方式:
    也可以选择在文件名中添加版本号。例如:
<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”。这将确保浏览器始终下载最新的静态文件。

相关文章