【问题标题】:serving django media (user uploaded) files in production在生产中提供 django 媒体(用户上传)文件
【发布时间】:2013-03-20 09:59:36
【问题描述】:

我已将我的 django 网站部署到 webfaction 托管服务上,我正在努力寻找如何在生产中为用户上传的媒体文件提供服务。关于如何在开发中提供媒体文件存在很多问题,但在生产中提供媒体(用户上传的)文件似乎没有任何问题。

目前,我的 django 应用在生产中如下所示。

django_project
|
 ---> media
 ---> static (these are served through collectstatic and no problem with this)
 ---> appname1
 ---> appname2
 --->project_name
 |
     ---> settings.py

还有我的

MEDIA_ROOT = /django_project/media/

MEDIA_URL = www.website.com/media/

有很多用户上传的图片存储在这个媒体文件夹中。 现在,当我打开网站时,没有图像加载。 有人可以帮助我如何在生产中提供媒体文件。

谢谢

斯里坎特

【问题讨论】:

    标签: django webfaction


    【解决方案1】:

    你需要使用 django.views.static.serve,像这样:

    (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': 'media'}),
    

    https://docs.djangoproject.com/en/dev/howto/static-files/#serving-other-directories

    【讨论】:

    • 您好,根据链接,如果我们正在使用调试和开发,则需要添加该行。我们也可以将它添加到生产站点吗?
    • 对不起,你说得对,没有准备好生产。我们实际上在那里使用了其他几种方法。 1) 来自 django-storages (django-storages.readthedocs.org/en/latest/index.html) 的 S3BotoStorage,当我们的用户上传的文件上传到我们的服务器时,它会将它们放在 S3 上。我们还在 Apache 中使用别名,别名 /media/ /srv/path-to-media/media/
    • 谢谢。我将使用 django-storages 尝试 S3。
    • 这对生产是否正确?因为这是实现 Django 来服务媒体。我希望服务器能够像静态文件一样为媒体提供服务,而不是 Django。
    猜你喜欢
    • 2014-05-15
    • 1970-01-01
    • 2014-07-11
    • 2017-09-29
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    相关资源
    最近更新 更多