2011-11-25 33 views
0

我在Django 1.3項目中使用CDN來存儲像圖像,CSS等媒體資源。我有一個問題,服務管理資源,我做了什麼是:帶有CDN和管理媒體的Django MEDIA_URL

settings.py

MEDIA_URL = 'http://cdn.test.com/' 
ADMIN_MEDIA_PREFIX = '/admin_media/' 

INSTALLED_APPS

'django.contrib.staticfiles', 

而且在urls.py

(r'^admin_media/(.*)', 'django.views.static.serve', 
     {'document_root' : 'django/contrib/admin/media/', 
     'show_indexes' : True}), 

看着管理HTML我看到像/admin_media/css/base.css但所有資源返回http 404。我不明白什麼是錯的。

非常感謝。

回答

0

嘗試以下操作:

from django.contrib.staticfiles.urls import staticfiles_urlpatterns 
from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 
    url(r'^admin/', include(admin.site.urls)), 

    # (... other urls ...) 
) 
urlpatterns += staticfiles_urlpatterns() 

此外,document_root你指的是你的urls.py應該是絕對路徑:這也可能會導致一些問題。不過,上述應該替代你的Django版本。

+0

你確定staticfiles_urlpatterns()?我做了一個嘗試,但它給了我一個錯誤:NameError:名稱'staticfiles_urlpatterns'沒有定義 – Fabrizio

+0

如果你確實在使用Django 1.3,那麼是的。您是否在代碼中包含import語句? – jro

+0

對不起,你對我忘了進口。但它不起作用。注意:如果我嘗試使用manage.py runserver ...我可以看到管理資源,但使用webserver(在我的情況下是lighttpd),我不能。 – Fabrizio