2012-09-20 150 views
0

我只是爲了正確地爲靜態文件提供服務來設置自己的URL設置。Django提供靜態文件 - Django-Storages的正確URL設置

對於開發我的URL設置看起來像這樣。

(r'^static/(?P<path>.*)$', 'django.views.static.serve', 
    {'document_root': settings.STATIC_ROOT, 'show_indexes': True}), 

但我想我必須改變這個設置,因爲django.views.static.serve只能用於開發。至少這在Django 1.1的docs中有說明。而在我目前使用的Django 1.4中,docs沒有聲明。我使用django-storages與s3服務靜態文件。

回答

1

我會用django cumulus 它有很大的文件,我已經用它成功地爲來自亞馬遜和Rackspace靜態文件CDN

積雲文檔將確切地告訴你如何在你的設置文件爲靜態配置

如果你不想 - 設置你的靜態URL到你的亞馬遜桶 在我的情況我使用rackspace,所以我的靜態url看起來像: STATIC_URL ='//csk3ls.r93.d2.rackcdn.com /'

+0

謝謝。想留在django存儲。我知道我必須設置STATIC_URL。我想知道是否可以在生產環境中使用django.views.static.serve? –

+0

是的。有時我使用靜態服務來服務特定種類的文件,當從雲服務時出現跨域問題,請參閱我的答案http://stackoverflow.com/questions/572025/tiny-mce-popups-blank-in-django-admin/10149491#10149491 –

3

你不需要將任何東西都添加到您的urls.py文件中,因爲您的文件來自S3。

將django builtin view用於您的開發服務器和生產環境,只需在settings.py文件中設置STATIC_URL和STATIC_ROOT的權限路徑即可。

STATIC_URL = 'http://s3.amazonaws.com/yourbucket/' 
+0

好的,這是有道理的。謝謝。 –

+0

整個一天在這個問題上。我的天啊。非常感謝Otacon! – andyw