使用静态服务提供媒体文件。 Dotcloud

时间:2012-12-05 15:49:55

标签: django dotcloud

我正在尝试使用dotcloud上的静态服务来提供我的django应用程序的媒体和静态文件(http://stackoverflow.com/questions/13681183/serve-static-files-with-nginx-and-custom -service-dotcloud)。

我创建了一个静态服务,我放置了我的静态文件。在我的django设置中,我有:

    STATIC_ROOT = STATIC_DIR
    STATIC_URL = 'http://mystaticapp.dotcloud.com/'

效果很好。

关于我的媒体文件,我在我的静态服务中放了一个文件夹媒体,我有:

    MEDIA_ROOT = 'http://mystaticapp.dotcloud.com/media/'
    MEDIA_URL = 'http://mystaticapp.dotcloud.com/media/'

MEDIA_URL有效:我的django app从静态服务中获取媒体。

但问题出现在MEDIA_ROOT上。看起来应用程序没有将文件上传到我的静态应用程序。当我为我的用户上传个人资料图片时,它不会将其上传到mystaticapp / media / profilepic,就像它应该的那样。

关于如何解决这个问题的任何想法?谢谢。

1 个答案:

答案 0 :(得分:2)

要记住的重要一点是,dotCloud上的静态服务和django服务是单独的服务,没有通用的文​​件系统。因此,如果您将文件上传到django服务,则静态服务将无法使用该文件。

对于这个用例,我建议将文件上传到S3,并从那里提供这些文件。

我会为此推荐Django-storage。以下是一些文档:http://django-storages.readthedocs.org/en/latest/backends/amazon-S3.html