Django没有加载所有CSS文件

时间:2010-10-23 19:04:13

标签: django static

我的base.html中列出了几个CSS文件,虽然其中一个已加载,但其他一切都没有,也没有javascript或图像。

以下是base.html的一部分:

<html>
<head>
    <link href="/media/css/base.css" rel="stylesheet" type="text/css"/>        
    <link href="/media/css/home.css" rel="stylesheet" type="text/css"/>
    <link href="/media/css/slideshow.css" rel="stylesheet" type="text/css"/>
    <link href="/media/css/demos.css" rel="stylesheet" type="text/css"/>
    ...

media是基本目录中包含静态文件的文件夹。在查看生成的页面源时,base.css加载正常,但对于其他所有内容,我得到Page not found: [Name of CSS file here]。据我所知,base.css和home.css之间没有任何区别;文件夹位置,文件权限......我只是想不通为什么它可以找到一个文件,而不是其余的。有没有人有任何想法可能会发生什么?

Settings.py

ROOT_DIR = os.path.abspath("")
ROOT_URL = 'http://url that will be used for running product/'


MEDIA_ROOT = ROOT_DIR + 'media/'
MEDIA_URL = ROOT_URL + 'media/'

urls.py

urlpatterns += patterns('django.views',
        url(r'^media/css/(?P<path>.*)$', 'static.serve',
            {'document_root': ROOT_DIR + 'media/css/'}, name='css-root'),
        (r'^media/images/(?P<path>.*)$', 'static.serve',
            {'document_root': ROOT_DIR + 'media/images/'}),
        (r'^media/scripts/(?P<path>.*)$', 'static.serve',
            {'document_root': ROOT_DIR + 'media/script/'}),
)

2 个答案:

答案 0 :(得分:3)

好的,所以我们现在已经到底了。您的MEDIA_URL设置与ADMIN_MEDIA_PREFIX设置冲突 - 它们都设置为`/ media',而admin设置优先。

MEDIA_URL设置为其他内容 - 例如/site_media - 事情应该更快乐。

答案 1 :(得分:0)

您的MEDIA_ROOT设置为什么?我很惊讶你不仅仅需要做“/css/base.css”等等。