Рубрики
Без рубрики

Django: stocker et lire des fichiers sur amazon s3 ru 8 Étapes

Si Vous désirez Plus de contunu франкоязычный Comme Comui-Ci, Clquer Следуйте за Suivez-Moi Sur … Теги с французским, Python, Django, начинающим.

Si Vous désirez Plus de contunu франкоязычный comme comui-ci, клидес Следуйте за OU Suivez-Moi Sur Twitter

Комментарий Utiliser Le Service S3 D’Amazon Afin de stocker et lire des fichiers et des images?

Étape 0: Avoir Un Project Django Déjà Créer Dans Lequel Vous Aimeriez Ajouter La Positionibilité d’Engoyer des fichiers et des images sur amazon s3 et de les lire par la suite

Étape 1 Créer Un Compte Amazon S3 ( https://aws.amazon.com/fr/s3/ ) et créer unuveau bucket lors de la Création du Bucket, Vous Pouvez Utiliser Les Valeurs Par défaut Sauf Say La Sécurité S ‘ Ascururer Que ‘Block Все публичные доступа «N’est Pas Coché».

Внимание, NE PAS Mettre de Fichiers Avec Informations Разумные Dans CE ведра CAR IL EST OUTT OUTT LECTURE à TOU LE WEB!

Étape 2 Une Fois le Bucket Créé, Ouvrir Le Bucket et Aller à l’Onglet «Разрешения».

Dans La Section ‘Bucket Policy’ Cliquez Sur ‘edit’ et ajouter CE код et et Ensuite Cliquez Sur ‘Сохранить изменения

{
    "Version": "2012-10-17",
    "Id": "Policy1623584629734",
    "Statement": [
        {
            "Sid": "Stmt1623584623637",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::your-bucket-name/*"
        }
    ]
}

Étape 3 Utiliser Le Service S3 à Partir de Vointre Application Django.

Вылейте CE Faire Nous Allons Установщик Le Package Django Storages ET BOTO3.

Django Storages Permet De S SE Connecker à Différeent Système de Storage Comme Amazon S3, Dropbox, Digital Ocean, Google Cloud и т. Д.

Boto3 est le sdk python polet se connecker à amazon s3

Dans CE Tutoriel NOUS N’allons Pas Utiliser Надлежение BOTO3. C’est Django Storages Qui S’en Speach Lay Nous.

$ pip install django-storages
$ pip install boto3

Étape 4 Vous Modifier Modifier Vovre Fichier Settings.py et y Отклонения Les Lignes Suivantes

# aws settings
AWS_ACCESS_KEY_ID = '...'
AWS_SECRET_ACCESS_KEY = '...'
AWS_STORAGE_BUCKET_NAME = '...'
AWS_QUERYSTRING_AUTH = False

AWS_S3_FILE_OVERWRITE = False
AWS_DEFAULT_ACL = None
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

Les aws_access_key_id et aws_secret_accecess_key sont disonible dans la console de s3 ru Cliquant Sur L’Option ‘Мои учетные данные о безопасности Dans le Меню Портант Potre Nom D’Usager. (Situé En Haut à Droite)

UNE FOIS SUR LA PAGE DE ‘Ваши учетные данные о безопасности Нажмите SUR Access Keys et Créer Un Nouvelle CLÉ. Le ID Eth Le Secret Vous Serront Donné.

Étape 5 Vous Pouvez Tebenant Stocker Des Fichiers Sur Amazon S3

LOL FAIRE LE RAPLOW D’Images POR Exmple Vous Puevz Créer Model Model AVEC ООН Champfield

from django.db import models

class Product(models.Model):
  name = models.CharField(max_length=200)
  description = models.TextField(blank=True, null=True)
  image = models.ImageField()

Ensuite Fairhe La Migration et l’exécuter

$ python mange.py makemigrations
$ python mange.py migrate

Ajouter CE Modèle à l’admin panel

# admin.py
from django.contrib import admin
from .models import Product

admin.site.register(Product)

Si Vous N’avez Pas Encore de Superuser наливает Accèder à l’admin panel vous pouvez en créer un

python manage.py createsuperuser

Étape 6 Vous Pouvez Tainenant Aller Dans L’Admin Panel (localhost: 8000/admin), Faire Potere Войти, Cliquez Sur Product ET Ajouter ООН продукт. L’Image Que Vous Aller Choisir RU Cliquant Sur ‘Выберите файл’ Sera Automationiquement Engoye Dans Gentre Buget Sur Amazon S3. (L’upload s’effectue lors de la Creation du Product)

Étape 7 Vous Pouvez Tebenant Lire Les Fichiers Stockés Sur Potre Amazon S3

Par Exmople Pole Afficher Image Dans Dans Dans Dans Dans. Vous Pouvez Utiliser La Propriété .url De Potre Champ Image


Étape 8 IL EST Egalement Возможен D’Utiliser Amazon S3 Pole Stocker Tous Vos Fichiers Static de Vovre Projet. PAR Exmple Les Fichiers CSS, JS ET изображения.

Вылейте CE Faire Vous Devez Ajouter Cretty Ligne de код à settings.py

STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

Код CE indique à django que vos fichiers Static Sont Maintenant Stocké Sur Amazon S3.

Si Vous Relancer Nickre Application (Python Management.py Runserver) Vous Remarquerez Que Pointre Application Ne Foncaratnera Pas Comme Il Faut Car Vos Fichiers Statics Ne Sont Pas Encore Dans Vovre Amazon S3.

Налить Les Regoyers Vous Devez Exécuter La Commande:

python manage.py collectstatic

Django va donc repoeier tous vos static dans gotre bucket s3

Si Vous Relancez L’Application Tout Devrait être Redevenu Normal.

Оригинал: “https://dev.to/ericlecodeur/django-stocker-et-lire-des-fichiers-sur-amazon-s3-en-8-etapes-3gnh”