1

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

我创建了一个静态服务,我在其中放置了我的静态文件。在我的 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 应用程序从静态服务获取媒体。

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

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

4

1 回答 1

2

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

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

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

于 2012-12-05T16:50:02.517 回答