我有一个包含以下行的模板:
<link href="{% static 'css/style.css' %}" rel="stylesheet" type="text/css" />
但是当我在Chrome中检查元素时,我发现了2个错误
GET http://127.0.0.1:8000/mysiteapp/css/style.css 404 (NOT FOUND)
GET http://127.0.0.1:8000/mysiteapp/css/style-desktop.css 404 (NOT FOUND)
这与我遇到的格式化问题有关。只有在style-desktop.css
代码中引用html
的位置为:
<noscript>
<link rel="stylesheet" href="{% static 'css/skel-noscript.css' %}"/>
<link rel="stylesheet" href="{% static 'css/style.css' %}"/>
<link rel="stylesheet" href="{% static 'css/style-desktop.css' %}"/>
</noscript>
我检查了我的static
文件夹,它包含所有列出项目的文件夹。但显然它没有看到它。我还将css
文件夹添加到mysiteapp
目录中,仍然没有运气
有一个非常类似的问题here。但它没有解决我的问题
其他GET
个请求很好:
style.css (static/css) type="text/css"
但在其下还有另一个获得404:
style.css (mysiteapp/css) type="text/html"
我调整了,但仍然没有运气
<link rel="stylesheet" href="{% static 'css/style.css' %}" type="text/css"/>
为什么它指向mysiteapp,在这一点上超出了我的范围。所有静态项都指向静态文件夹
css文件的启动器是一个js文件,由以下文件启动:
<script src="{% static 'js/skel.min.js' %}"></script>
答案 0 :(得分:1)
它们是404,因为你还没有通过Django提供静态文件
此代码是从Serving static files during development上的Django文档复制而来的。那里有更多的信息。
#urls.py
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = patterns('',
# ... the rest of your URLconf goes here ...
) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
上述内容需要包含在您的urls.py
中,以便Django的网址路由知道您在STATIC_URL
处使用文件夹STATIC_ROOT
提供静态文件。
STATIC_URL是静态文件的前缀。典型默认值为/static/
。
STATIC_ROOT将是您计算机上该文件夹的路径。
当您将此项目投入生产时,您将需要考虑让Web服务器提供这些文件而不是Django。