Django 1.6.2 无法提供静态内容
我在使用 Django==1.6.2 的时候,无法提供静态内容(为了开发目的)
没有任何错误信息可以参考。
我在浏览器中只看到404的错误信息,开发服务器也显示404。
[14/Apr/2014 16:50:29] "GET /static/resource/css/bootstrap.min.css HTTP/1.1" 404 1697
这是我的设置:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# Django extra
'django.contrib.webdesign',
)
# All directories below have been checked and exist on disk.
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
STATIC_ROOT = os.path.join(SITE_ROOT, 'site_media/static')
MEDIA_ROOT = os.path.join(SITE_ROOT, 'site_media/media')
主 urls.py 文件的内容:
from django.conf import settings
from django.conf.urls import patterns, include, url
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# ADMIN
url(r'^admin/', include(admin.site.urls)),
# HOMEPAGE
url(r'^$', 'mainmodule.views.home', name='home')
)
if settings.DEBUG:
urlpatterns += staticfiles_urlpatterns()
settings.py 中的调试模式已经开启
我也尝试过在 urls.py 文件中使用 django.conf.urls.static 方法,但问题依旧。
我的静态目录不在任何应用内部。我之前从来没有遇到过这个问题,也在官方 Django 文档中找不到相关信息。
我可以顺利运行 collectstatic。
在我的模板中使用 {% static "....." %} 也能正常解析 URL。
我查看过的相关讨论(但没有帮助):
1 个回答
1
Django的开发服务器并不知道也不关心STATIC_ROOT
或者收集到的文件。为了在开发模式下(也就是使用runserver
命令时)正确地提供静态文件,你应该把你的静态文件放在:
一个叫做
static
的文件夹里,这个文件夹在你的应用内部。任何在
STATICFILES_DIRS
中列出的其他文件夹。
另外,你还需要把DEBUG
设置为True。