我已经完成了这里的主题:
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?我该如何解决这个问题?
编辑:根据要求,这就是文件夹结构的样子:
starter-template.css是导致404的文件。我在base.html中引用它
答案 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'),
]