0

注意:这与 django-staticfiles 不同,因为它内置了压缩功能。

我的 /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')]
4

1 回答 1

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 }}。

于 2012-12-31T22:48:14.190 回答