Django 1.6.2不会提供静态内容

时间:2014-04-14 14:05:19

标签: python django file static

无法提供静态内容(用于开发目的)使用 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" ....." %}。

我调查的相关主题(但没有帮助):

Can't get Django to serve static files

STATICFILES on Django 1.6.2

1 个答案:

答案 0 :(得分:1)

Django开发服务器不知道也不关心STATIC_ROOT或收集的文件。为了在开发模式下正确地提供静态文件(也就是使用runserver命令),您应该将静态文件放在:

  1. 应用内部名为static的目录。

  2. STATICFILES_DIRS

  3. 中列出的任何其他目录

    另外,您应将DEBUG设置为True。