我正在开发一个 Django 网站,经过一系列编辑后,我突然再次运行我的服务器 - 没有 css!当然,服务器仍然显示 html 站点,但整个站点的 css 都会抛出 404 错误。我的 settings.py
中的静态文件信息根本没有被编辑:
import os
# hack to accommodate Windows
CURRENT_PATH = os.path.abspath(os.path.dirname(__file__).decode('utf-8')).replace('\\', '/')
STATIC_URL = '/static/'
# Additional locations of static files
STATICFILES_DIRS = (
os.path.join(CURRENT_PATH, 'static'),
)
我的基本模板根据静态文件目录对文件进行简单的调用:
<link rel="Stylesheet" type="text/css" href="{{ STATIC_URL }}css.css" />
最后,当然,这是我的相关目录结构的快速分割,因为我怀疑该错误是某种目录问题:
-project-
settings.py
-static-
css.css
-templates-
base.html
index.html
我只提供了index.html的位置,但是templates文件夹当然充满了各种模板/页面的目录。
在排除故障/收到答案时,我会随时更新此问题的信息。
最佳答案
为了使静态 URL 在开发平台上正常工作,您需要执行许多操作。
为此,我建议浏览并阅读此链接。 https://docs.djangoproject.com/en/dev/howto/static-files/
除此之外,您还需要从 View 返回请求上下文。
请注意,在您的 urls.py 文件中,您还需要添加以下行。
urlpatterns += staticfiles_urlpatterns()
此行允许开发服务器内的 URL 模块提供静态文件。
我还注意到您的 os.path.join 代码中有一个变量。如果您使用基本的 django 设置,os.path.join
将已经指向您的开发目录。
您应该能够使用:
# Additional locations of static files
STATICFILES_DIRS = (
os.path.join('static'),
)
注意:还要确保您的 View 返回请求上下文,因为这是填充 STATIC_URL
变量所必需的。同样,确保您拥有所有 TEMPLATE_CONTEXT_PROCESSORS
添加到 settings.py
文件
关于python - Django:GET css 返回 404?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15641603/