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
Barbara Streisandoriginal
2024-12-04 18:49:12605parcourir

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

Basculer dans le dossier créé :

cd myproject

Créer un environnement virtuel :

python3 -m venv env

Activer l'environnement virtuel :

source env/bin/activate

Installez Django et pyyaml :

pip3 install django pyyaml

Démarrer un nouveau projet Django :

django-admin startproject myproject .

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

touch myproject/settings.yaml

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

import os
import yaml

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)

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'],
    }
}

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'

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!

Déclaration:
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