注意:这与django-staticfiles不同,因为它内置了压缩。
My / 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 :(得分:0)
虽然我没有使用过这个应用程序,但在阅读完文档之后,DJANGO_STATIC_MEDIA_URL似乎是一种快捷方式,可以在定义图像src属性的位置时最大限度地减少包含{{MEDIA_URL}}的需要。
您定义了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}}。