Django Rest Framework — это полноценная веб-инфраструктура для разработки RESTful API на Python.
Amazon Web Services, широко известная как AWS, является дочерней компанией Amazon, которая предоставляет платформы облачных вычислений и API-интерфейсы по требованию для частных лиц, предприятий и правительств с оплатой за просмотр. 'использовать. Он предлагает множество услуг, таких как сервис Amazon Simple Storage (Amazon S3).
Amazon S3 можно использовать для медиафайлов и статических файлов в API DRF.
Во-первых, давайте инициализируем проект drf.
$ pip install djangorestframework
Добавьте «rest_framework» в параметр INSTALLED_APPS.
INSTALLED_APPS = [ … 'rest_framework', ]
Задайте корневой путь носителя в settings.py:
MEDIA_ROOT = os.path.join(BASE_DIR, ‘path/to/store/my/files/’)
Войдите в свою учетную запись AWS и создайте новую корзину на панели управления сервисом Amazon S3.
Создайте новые учетные данные на панели «Управление учетными данными и доступом».
Добавьте учетные данные AWS в settings.py:
AWS_ACCESS_KEY_ID = 'YOUR_ACCESS_KEY_HERE' AWS_SECRET_ACCESS_KEY = 'YOUR_SECRET_ACCESS_KEY_HERE'
Замените значения своими учетными данными.
Нам нужно установить пакеты django-storages и boto3.
$ pip install boto3 $ pip install django-storages
django-storages — это проект по предоставлению различных серверных хранилищ в одной библиотеке и здесь для использования функциональности Amazon S3. AWS SDK для Python (Boto3) предоставляет Python API для сервисов инфраструктуры AWS.
Конфигурации должны выглядеть так:
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'] # Your app endpoint AWS_S3_ENDPOINT_URL = os.environ.get('AWS_S3_ENDPOINT_URL') # Only public read for now AWS_QUERYSTRING_AUTH = False AWS_DEFAULT_ACL='public-read'