CSS GET返回404

时间:2016-06-27 12:58:00

标签: django

我已经完成了这里的主题:

https://stackoverflow.com/questions/15641603/django-get-css-returns-404

但解决方案没有帮助。

.css文件是从base.html中加载的,重要部分看起来像这样

<link href="{% static 'css/starter-template.css' %}" rel="stylesheet">

pycharm给出的关于这个问题的确切信息是这样的:

"GET /static/css/starter-template.css HTTP/1.1" 404 1685

css文件的路径也是正确的。这让我想知道:如果路径正确,那为什么我会得到404?我该如何解决这个问题?

编辑:根据要求,这就是文件夹结构的样子:

https://i.sli.mg/2MwZM4.png

starter-template.css是导致404的文件。我在base.html中引用它

1 个答案:

答案 0 :(得分:2)

嗯......我认为问题是你的django项目无法发现你在模板目录中创建的静态目录。

默认情况下,Django将在名为&#34; static&#34;的文件夹中搜索静态资产。在settings.py中的INSTALLED_APPS中的每个文件夹内。除非明确告知,否则它不会在其他任何地方寻找资产。

这样做的设置是&#34; STATICFILES_DIRS&#34;以及文档的相关部分如下: https://docs.djangoproject.com/en/1.9/ref/settings/#std:setting-STATICFILES_DIRS

您可以在settings.py文件中使用静态目录的绝对路径,例如:

FLUSH PRIVILEGES;

或者,如果导入了os并且设置了BASE_DIR(在settings.py中默认情况应该是这种情况)

STATICFILES_DIRS = [
  '/home/rtownley/path_to_project/static/',
]

注意:如果您还没有这样做,如果您正在指定其他位置(不完全确定是否属于这种情况),您现在也可能需要设置STATIC_ROOT,但如果是这样,您可以将它设置在settings.py中,类似于

STATICFILES_DIRS = [
  os.path.join(BASE_DIR, 'static'),
]