2014-09-03 93 views
3

可以從CDN和本地目錄提供靜態文件嗎? 目前STATIC_URL指向CDN。我還配置了STATICFILES_DIR來從本地目錄提供文件。此外django.contrib.staticfiles在INSTALLED_APPS中。但是,如果我說:從CDN和本地目錄中用Django提供靜態文件

"{% static "img/some_image.png" %}" 

在我的模板,Django會嘗試下載從CDN文件,從來沒有試圖在本地搜索。有兩種方法可以在兩個地方提供服務嗎?

回答

0

不,它不能。它將始終從STATIC_URL的值構建url。

你可以做的是把一個標誌settings.py,所以,如果你是在本地主機上運行,​​改變STATIC_URL變量:

if DEBUG: 
    STATIC_URL = '/static/' 

同樣,在你的urls.py,你可以添加這個檢查還有:

from django.conf import settings # add this to the top 
from django.conf.urls.static import static 

urlpatterns = ('', 
       url(r'home/$', ...), 
       # your other urls here 
) 
if settings.DEBUG: 
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 

進一步提示都可以在manual包括開發過程中類似的代碼來服務的媒體文件(用戶上傳的文件)。

+0

請試試這個,謝謝。 – elena 2014-09-03 05:19:19