2012-12-31 22 views
0

注意:這與django-staticfiles不同,它具有內置壓縮功能。如何使用peterbe的django-static來同時提供靜態和媒體?

我的/靜態/用於靜態文件我上傳自己,而/ media /用於文件用戶上載。但是,DJANGO_STATIC_MEDIA_URL依賴於所有靜態文件都在一個url下的事實。

我錯過了什麼嗎?或者是否必須在每個模板上手動設置{{MEDIA_URL}}和{{STATIC_URL}}?

另外,如何設置它,以便將由django-static生成的符號鏈接上傳到S3?

我使用Django 1.4,和我目前的配置是:

DJANGO_STATIC = True 
DJANGO_STATIC_MEDIA_URL = '//s3.amazonaws.com/%s/static/' % AWS_STORAGE_BUCKET_NAME 
DJANGO_STATIC_MEDIA_ROOTS = [os.path.join(SITE_ROOT, 'static')] 
+0

你使用的是什麼版本的Django,只是一個問題? –

+0

添加到問題 –

+0

啊,我把它與1.3版本中與Django集成的靜態文件應用程序混淆了 - 對不起。 –

回答

0

雖然我沒有使用過這個程序,通過文件看完之後似乎DJANGO_STATIC_MEDIA_URL是一個快捷方式,以儘量減少需要包括{{MEDIA_URL}}定義圖片src屬性的位置時。

你定義DJANGO_STATIC_MEDIA_URL(www.mysite.com/media),那麼事後你可以像

<img src="{% staticfile "/foo.png" %}"/> 

訪問上傳的媒體的位置,而不必編寫的位置爲:

<img src="{{ MEDIA_URL }}{% staticfile "/foo.png" %}"/> 

因此,要引用您的css和js靜態文件,請繼續使用{{STATIC_URL}}。要引用您上傳的媒體,請定義DJANGO_STATIC_MEDIA_URL並僅使用{%staticfile%}模板標籤,或者像平常一樣使用{{MEDIA_URL}}。

相關問題