【问题标题】:Django Serve Static Files - correct URL settings for Django-StoragesDjango Serve Static Files - Django-Storages 的正确 URL 设置
【发布时间】:2012-09-12 21:21:35
【问题描述】:

我只是想知道如何设置我的 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 来提供静态文件。

【问题讨论】:

    标签: django deployment


    【解决方案1】:

    您无需在 urls.py 文件中添加任何内容,因为您的文件是从 S3 提供的。

    为您的开发服务器和生产服务器使用 django builtin view,只需在您的 settings.py 文件中设置 STATIC_URL 和 STATIC_ROOT 的权限路径。

    STATIC_URL = 'http://s3.amazonaws.com/yourbucket/'
    

    【讨论】:

    • 一整天都在讨论这个问题。我的天啊。非常感谢 Otacon!
    【解决方案2】:

    我会使用django cumulus 它有很好的文档,我已经成功地使用它来提供来自亚马逊和 rackspace cdn 的静态文件

    Cumulus 文档将在静态配置的设置文件中准确地告诉您要做什么

    如果您不想 - 将您的静态 URL 设置为您的亚马逊存储桶 在我的情况下,我使用的是 rackspace,所以我的静态 url 看起来像: STATIC_URL = '//csk3ls.r93.d2.rackcdn.com/'

    【讨论】:

    • 谢谢。想继续使用 django 存储。我知道我必须设置 STATIC_URL。我想知道在生产中使用 django.views.static.serve 是否可以?
    • 是的。有时我使用静态服务来提供从云服务时存在跨域问题的特定类型的文件,请在此处查看我的答案stackoverflow.com/questions/572025/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-11
    • 2013-07-18
    • 2019-08-07
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    • 2019-08-30
    相关资源
    最近更新 更多