Django中的Noscript问题

时间:2013-12-28 00:20:51

标签: html css django

我有一个包含以下行的模板:

<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。但它没有解决我的问题

编辑1

其他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,在这一点上超出了我的范围。所有静态项都指向静态文件夹

编辑2

css文件的启动器是一个js文件,由以下文件启动:

<script src="{% static 'js/skel.min.js' %}"></script>

1 个答案:

答案 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。