django静态文件

时间:2011-03-06 15:26:48

标签: django static django-templates

我的urls.py行:

if settings.DEBUG==True:
    urlpatterns += patterns('',
        (r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_DOC_ROOT})
    )

在我的设置文件中:

STATIC_DOC_ROOT = os.path.join(os.path.dirname(__file__),'static').replace('\\','/')

当我进入/进入我的页面时,一切都很顺利。当我点击/到另一个页面的链接时,由于404错误,我没有应用CSS。他试图从该URL加载CSS文件。

http://localhost:8000/show/sth/static/style.css

以下是此方法的urls.py

(r'^show/(?P<subject>[^/]+)/(?P<title>[^/]+)$','show'),

我有url / links和css只在这个模板中工作,它不起作用。看来这些参数搞砸了什么。有什么建议为什么会失败? 这是我的模板代码:

{% extends "szkielet.html" %}
{% block tresc %}
    <div id="content">
        <div class="post">
            <h2 class="title">{{ notatka.tytul }}</h2>
                <p class="meta"><span class="author">{{ notatka.user.name }}</span> <span class="date">July 07, 2010</span>&nbsp;<span class="links"><a href="#" title="">Comments</a></span></p>
                <div class="entry">
                    <p>{{ notatka.tresc }}</p>
            </div>
        </div>
    </div>
{% endblock %}

Szkielet.html - 这是我的基础

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Perfect Blemish      by Free CSS Templates</title>
<link href="{{ MEDIA_URL }}style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>

这是CSS的一部分,它只是一个样式表。

1 个答案:

答案 0 :(得分:1)

URL可能被设置为覆盖静态URL路径,但这不是这里的情况!所以你的URL conf与此没有任何关系。

核心问题是您的模板呈现的网址不正确:http://localhost:8000/show/sth/static/style.css应该http://localhost:8000/static/style.css是否正确?

向我们展示您的模板,因为这似乎是问题所在。听起来像你只是为CSS而不是绝对或/static/style.css

设置了相对URL

你的{{ media_url }}是什么?它应该是绝对的,并以/

开头