Maison > développement back-end > Tutoriel Python > Configuration du projet Django pour stocker des données sensibles dans un fichier YAML

Configuration du projet Django pour stocker des données sensibles dans un fichier YAML

Barbara Streisand
Libérer: 2024-12-04 18:49:12
original
571 Les gens l'ont consulté

Configuring Django project to storing sensitive data in YAML file

Le codage en dur des jetons, des informations d'identification de base de données et autres données sensibles dans les fichiers .py n'est pas sécurisé. Beaucoup de gens utilisent la bibliothèque Django-environ, mais je pense que cela n'est pas pratique. J'utilise donc des fichiers yaml pour stocker les données sensibles et la bibliothèque pyyaml ​​pour en lire les données.

Créer un dossier de projet :

mkdir myproject
Copier après la connexion

Basculer dans le dossier créé :

cd myproject
Copier après la connexion

Créer un environnement virtuel :

python3 -m venv env
Copier après la connexion

Activer l'environnement virtuel :

source env/bin/activate
Copier après la connexion

Installez Django et pyyaml :

pip3 install django pyyaml
Copier après la connexion

Démarrer un nouveau projet Django :

django-admin startproject myproject .
Copier après la connexion

Créez le fichier settings.yaml à proximité du fichier settings.py :

touch myproject/settings.yaml
Copier après la connexion

Insérer les importations au début du fichier settings.py :

import os
import yaml
Copier après la connexion

Insérer le code pour lire à partir du fichier settings.yaml :

with open(os.path.join(str(Path(__file__).resolve().parent), 'settings.yaml'), 'r') as settingsfile:
    settings = yaml.safe_load(settingsfile)
Copier après la connexion

Insérer le code pour lire à partir du fichier settings.yaml :

SECRET_KEY = settings['SECRET_KEY']
DEBUG = settings['DEBUG']
ALLOWED_HOSTS = settings['ALLOWED_HOSTS']
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': settings['DATABASES']['NAME'],
        'USER': settings['DATABASES']['USER'],
        'PASSWORD': settings['DATABASES']['PASSWORD'],
        'HOST': settings['DATABASES']['HOST'],
        'PORT': settings['DATABASES']['PORT'],
    }
}
Copier après la connexion

Mettez les configurations dans settings.yaml :

SECRET_KEY: 'your-secret-token'
DEBUG: true
ALLOWED_HOSTS:
  - 127.0.0.1
  - localhost
  - 0.0.0.0
DATABASES:
  NAME: 'database_name'
  USER: 'database_user'
  PASSWORD: 'password'
  HOST: '127.0.0.1'
  PORT: '5432'
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal