Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我如何使用peterbe';s django static同时服务于静态和媒体?_Django_Django Static - Fatal编程技术网

我如何使用peterbe';s django static同时服务于静态和媒体?

我如何使用peterbe';s django static同时服务于静态和媒体?,django,django-static,Django,Django Static,注意:这与django staticfiles不同,因为它内置了压缩功能 My/static/用于我自己上传的静态文件,而/media/用于用户上传的文件。然而,DJANGO_STATIC_MEDIA_URL依赖于所有静态文件都在一个URL下这一事实 我错过什么了吗?或者我必须在每个模板上手动设置{{MEDIA_URL}}和{{{STATIC_URL}}} 此外,我如何设置它,以便django static生成的符号链接被上传到S3 我正在使用Django 1.4,当前配置为: DJANGO_S

注意:这与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')]

虽然我没有使用过这个应用程序,但在阅读了文档之后,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}。

您使用的是什么版本的DJANGO,只是一个问题?啊,我把它与从1.3开始与DJANGO集成的静态文件应用程序混淆了-抱歉。