Самый простой и быстрый способ перенести коллекции django-photologue на основе boto на S3 в более новую версию boto3? - PullRequest
0 голосов
/ 28 июня 2019

Существует ошибка (https://github.com/boto/boto/issues/3837) в boto, которая не позволяет ему нормально работать с S3 в работе (хотя он и работает в разработке). Как можно было бы установить разветвленную версию boto в существующий проект? или, возможно, перенести заполненные хранилища на boto3? Возможно ли вообще без повторной загрузки / переназначения всей моей коллекции? и даже так, работает ли django-photologue с boto3?

Я ссылаюсь на этот код из файла settings.py, как описано в руководствах по хранению django-photologue s3:

# S3Boto storage settings for photologue example project.

import os

DEFAULT_FILE_STORAGE = 'example_storages.s3utils.MediaS3BotoStorage'
STATICFILES_STORAGE = 'example_storages.s3utils.StaticS3BotoStorage'

AWS_S3_HOST = 's3-us-west-2.amazonaws.com'

AWS_S3_OBJECT_PARAMETERS = {
    'Expires': 'Thu, 31 Dec 2099 20:00:00 GMT',
    'CacheControl': 'max-age=94608000',
}
try:
    # If you want to test the example_project with S3, you'll have to configure the
    # environment variables as specified below.
    # (Secret keys are stored in environment variables for security - you don't want to
    # accidentally commit and push them to a public repository).

    AWS_ACCESS_KEY_ID = os.environ['AWS_ACCESS_KEY_ID']
    AWS_SECRET_ACCESS_KEY = os.environ['AWS_SECRET_ACCESS_KEY']
    AWS_STORAGE_BUCKET_NAME = os.environ['AWS_STORAGE_BUCKET_NAME']


except KeyError:
    raise KeyError('Need to define AWS environment variables: '
                   'AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and AWS_STORAGE_BUCKET_NAME')
# Default Django Storage API behavior - don't overwrite files with same name
AWS_S3_FILE_OVERWRITE = False

MEDIA_ROOT = '/media/'
MEDIA_URL = 'http://%s.s3-us-west-2.amazonaws.com/media/' % AWS_STORAGE_BUCKET_NAME

STATIC_ROOT = '/static/'
STATIC_URL = 'http://%s.s3-us-west-2.amazonaws.com/static/' % AWS_STORAGE_BUCKET_NAME

ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'
...