我正在开发一个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的位置,但模板文件夹当然填充了各种模板/页面的目录。
我会在解决/接收答案时将此问题更新为信息。
答案 0 :(得分:2)
为了让静态网址在开发平台上运行,您需要做很多事情。
为此我建议浏览并阅读此链接。 https://docs.djangoproject.com/en/dev/howto/static-files/
除此之外,您还需要从视图中返回请求上下文。
请注意,在您的urls.py文件中,您还需要添加该行。
urlpatterns += staticfiles_urlpatterns()
此行允许开发服务器中的URL模块提供静态文件。
我还注意到您的os.path.join
代码中有一个变量。如果您使用的是基本的django设置,os.path.join
已经指向您的开发目录。
你应该可以使用:
# Additional locations of static files
STATICFILES_DIRS = (
os.path.join('static'),
)
注意:还要确保您的视图是返回请求上下文,因为这是填充STATIC_URL
变量所必需的。同样,请确保将settings.py
添加到{{1}}文件中
答案 1 :(得分:0)
解决方案是:
{% load static from staticfiles %}
<link rel="Stylesheet" type="text/css" href="{% static "css.css" %}"/>
这是在Django 1.7上调用静态文件的正确方法。