Django 服务器未对 CSS 进行更改

Django server not making changes to CSS

我是 Django 的新手。我启动了一个应用程序,制作了模板和静态目录,将它们添加到项目设置和 运行 服务器中 this tutorial。然后我想更改 CSS 文件中的一些设置,所以我修改了一些行。但是当我再次运行 the python manage.py runserver时(I 运行 on Windows),更改没有生效。 CSS的初始代码为:

body {
  position: relative;
  padding-bottom: 10px;
  min-height: 100%;
  background: #f7f7f7;
}

我改变了这样的填充:

body {
  position: relative;
  padding-bottom: 50px;
  min-height: 100%;
  background: #f7f7f7;
}

当我再次运行 django 服务器时,新代码没有生效。我用 Chrome Dev Tools 检查了代码,发现填充值仍然是 10px。我已经 运行 一次又一次地成为服务器,但没有任何变化。设置中是否缺少某些内容?

我认为您必须使用此命令从服务器实例收集静态文件:

./manage.py collectstatic

然后考虑静态文件中的更新。

我经常遇到同样的问题,你应该删除staticfiles目录。 此外,您应该将 "no cache" header 添加到模板中的 HTML header 中,至少对于开发而言。

<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />

如果遇到麻烦,您也可以强制浏览器清除其缓存。

如果你想重建'staticfiles'目录,你可以运行命令:

python manage.py collectstatic

您不需要stop/relaunch django 服务器,它对网页文件没有影响(HTML/JS/CSS)。

是浏览器缓存问题。您可以通过多种方式解决它,但我发现最简单的方法是尝试浏览器的 IncognitoPrivate 模式。您将立即看到 css 文件的每一次更改。