Django不加载css文件

时间:2015-04-26 06:48:40

标签: html django

我正在本地测试我的django项目。模板和静态文件如下所示:

static/
    css/
    js/
    ...
templates/
    home.html
    ...

当我运行服务器时,加载了html文件,但是firefox指示:

此XML文件似乎没有与之关联的任何样式信息。文档树如下所示。

我的模板中的html链接如下:

<link rel="stylesheet" href="/static/css/bootstrap.min.css" type="text/css"/>

但是,当我在浏览器中输入127.0.0.1:8000/static/css/bootstrap.min.css时,该文件实际存在且可以获取。

[26/Apr/2015 06:47:38]"GET / HTTP/1.1" 200 10125
[26/Apr/2015 06:47:49]"GET /static/css/bootstrap.min.css HTTP/1.1" 200 117150

我已经就这个主题发表了一些帖子,我做了以下事情: 我的settings.py有INSTALLED_APPS:

INSTALLED_APPS = (
    'django.contrib.admin',
    ...
    'django.contrib.staticfiles',
    'frontend', 
    'crawler',
}

我的urls.py粘贴在这里:

from django.conf.urls import patterns, include, url
from django.contrib import admin
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns = patterns('',
    url(r'^$', include('frontend.urls')),
);

urlpatterns += staticfiles_urlpatterns()

这里有什么问题?

1 个答案:

答案 0 :(得分:0)

在你的urls.py文件中,

from django.conf.urls import patterns, include, url
from django.contrib import admin
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns = patterns('',
    url(r'^$', include('frontend.urls')),
);

urlpatterns += static(settings.STATIC_URL,document_root=settings.STATIC_ROOT)

确保您的settings.py文件已定义。

BASE_DIR = os.path.dirname(os.path.dirname(__file__))

STATIC_URL = '/static/'

STATIC_ROOT = os.path.join(BASE_DIR, '../static')

STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'django.contrib.staticfiles.finders.FileSystemFinder',
)

此外,在您的模板中添加顶部:

{%load staticfiles%}

这些设置对我有用。