【发布时间】:2017-10-11 04:58:51
【问题描述】:
我遇到了 django 在开发过程中不提供某些静态资源的问题。这是一个非常奇怪的问题。
这就是我的静态目录的相关部分现在的样子:
site_media
└── static
├── css
│ ├── public.css
│ ├── site-ada8eab0af.css
现在这是我的 staticfiles 目录,当我运行 manage.py collectstatic 时,东西已从我的静态目录正确导入。
我的模板中有两行:
<link href="{% static 'css/site-ada8eab0af.css' %}" rel='stylesheet' />
<link href="{% static 'css/public.css' %}" rel="stylesheet" />
这些在渲染输出中产生这两行:
<link href="/site_media/static/css/site-ada8eab0af.css" rel='stylesheet' />
<link href="/site_media/static/css/public.css" rel="stylesheet" />
当我转到第一个链接时,它工作正常。但是,当我转到 public.css 链接时,我收到一个 404 错误,上面写着'css/public.css' could not be found。我使用的完整链接是http://localhost:8000/site_media/static/css/public.css
什么可能使它能够提供这些文件之一,但不能提供另一个?
【问题讨论】:
-
尝试重命名它,避免它可能是 Django 内部处理中的保留关键字
-
您得到 404 的事实使这不太可能发生,但请尝试禁用缓存。
-
重命名它没有做任何事情,但禁用缓存确实可以。如果你想把它写成 Sahutchi 的答案,我会接受的。也许你可以解释一下当文件以前从未存在过缓存时会导致这种情况的原因。