2012-09-20 121 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