Gérer les fichiers de configuration Django avec Python-decouple

Pourquoi tu en as besoin

Fondamentalement, de nombreux articles d'introduction codent en dur divers paramètres dans le fichier de paramètres, mais il n'est pas bon de penser pratiquement du point de vue de l'exploitation et de la sécurité à coder directement en dur ce que l'on appelle SECRET_KEY et les variables d'environnement. ..

Par conséquent, l'installation d'un module capable d'isoler les paramètres, de le gérer séparément et de le charger à partir de là est un moyen d'éviter le codage en dur. En Python, il existe un module appelé Python-decouple, je vais donc utiliser settings.py dans Django comme exemple.

Le projet créé cette fois-ci peut être consulté depuis ici, donc si vous êtes intéressé, s'il vous plaît.

introduction

Installer et

$ pip install python-decouple
$ django-admin startproject decoupleproject

Créez un projet.

Puisque vous avez déjà installé Python-decouple, créez un fichier .env dans le même répertoire que manage.py.

スクリーンショット 2020-06-13 14.53.09.png

Et si vous écrivez les informations que vous ne voulez pas coder en dur dans divers fichiers de paramètres dans .env et que vous les importez dans sttings.py, vous pouvez basculer entre les environnements, ce qui est très utile.

Par exemple, cette fois

settings.py


from decouple import config


# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = config('SECRET_KEY')

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = conig('DEBUG' default=False,cost=bool)

ALLOWED_HOSTS = config('ALLOWED_HOSTS',cost=Csv())

.env


SECRET_KEY = '6@gw!zj8jjwjr%da0g=&1dzmhjbi3p%r@6157##n0oix#&ybv2'
DEBUG = True
ALLOWED_HOSTS = []

En écrivant de cette manière, vous pouvez séparer les informations que vous ne voulez pas que l'on connaisse de l'extérieur.

Il existe d'autres modules qui cachent les informations de connexion de la base de données, je voudrais donc les présenter dans un proche avenir. Je vous remercie pour votre travail acharné.

Recommended Posts

Gérer les fichiers de configuration Django avec Python-decouple
Télécharger des fichiers avec Django
Gérer les fichiers csv avec Django (django-import-export)
Internationalisation avec Django
CRUD avec Django
Django: enregistrez l'agent utilisateur et gérez-le avec l'administrateur
Configurer un module avec plusieurs fichiers dans Django
Authentifier Google avec Django
Django 1.11 a démarré avec Python3.6
Résumé du développement avec Django
Sortie PDF avec Django
Sortie Markdown avec Django
Utiliser Gentelella avec Django
Premiers pas avec Django 1
Envoyer des e-mails avec Django
Téléchargement de fichiers avec django
Utilisez LESS avec Django
La mutualisation mécanise avec Django
Utiliser MySQL avec Django
Django à partir d'aujourd'hui
Premiers pas avec Django 2
[Django] Gérez les paramètres comme l'écriture dans settings.py avec un modèle
Gestion des fichiers statiques lors du déploiement en production avec Django
Faites Django avec CodeStar (Python3.6.8, Django2.2.9)
Gérez les tâches cron avec python
Lancez-vous avec Django! ~ Tutoriel ⑤ ~
Environnement de site Web de configuration minimale avec django
Créer une API avec Django
Gérez l'environnement python avec virtualenv
Faites Django avec CodeStar (Python3.8, Django2.1.15)
Déployer Django sans serveur avec Lambda
Python3 + Django ~ Mac ~ avec Apache
Premiers pas avec Python Django (1)
Créer une page d'accueil avec django
Tri des fichiers image avec Python (2)
Lancez-vous avec Django! ~ Tutoriel ④ ~
Trier de gros fichiers avec python
Tri des fichiers image avec Python (3)
Premiers pas avec Python Django (4)
Créer une application Web avec Django
Premiers pas avec Python Django (3)
Combinez Fast API avec Django ORM
Lancez-vous avec Django! ~ Tutoriel ⑥ ~
Tri des fichiers image avec Python
Utilisez Django pour enregistrer les données de tweet
Transférer des fichiers avec Teraterm [Note]
Intégrez des fichiers PDF avec Python
Lire des fichiers .txt avec Python
Effectuer le cryptage AES avec DJango
Introduction à Python Django (6)
Combinez deux images avec Django
Premiers pas avec Django avec PyCharm
A propos de la gestion des fichiers statiques Django
Web en temps réel avec les chaînes Django
Travailler avec des fichiers JSON dans Matlab
Suppression de double envoi avec Django
Framework Django REST avec Vue.js
Utilisez prefetch_related commodément avec Django
Premiers pas avec Python Django (5)
Connectez-vous avec Django Rest Framework
Qiita API Oauth avec Django