我正在使用 django-mediagenerator 来管理静态文件。这很棒,但我想弄清楚如何将静态文件放在内容交付网络上。我将使用亚马逊 AWS。
在我看来,我可以做以下两件事之一:
- 将文件上传到 CDN,并配置 mediagenerator/django 指向 CDN 的 url
- 将文件上传到 CDN 并配置 Apache 以提供来自 CDN 的文件
然而,这两个都没有让我觉得特别直截了当。
其中一种解决方案听起来比另一种更好吗?有不同的方法吗?
我正在使用 django-mediagenerator 来管理静态文件。这很棒,但我想弄清楚如何将静态文件放在内容交付网络上。我将使用亚马逊 AWS。
在我看来,我可以做以下两件事之一:
然而,这两个都没有让我觉得特别直截了当。
其中一种解决方案听起来比另一种更好吗?有不同的方法吗?
我遇到了同样的挑战,并选择使用 Django 的“collectstatic”管理命令使用 django-storages 和 python-boto 将文件上传到 AWS:
STATICFILES_DIRS = (
os.path.join(CURRENT_DIR, '_generated_media'),
)
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
然后,我将 django-mediagenerator 指向适用的 S3 存储桶:
PRODUCTION_MEDIA_URL = 'http://bucketname.s3.amazonaws.com/static/'
我认为 django-mediagenerator 在运行 generatemedia 命令时没有内置方式使用自定义存储后端,尽管这将是最好的解决方案,恕我直言。