Heim >Backend-Entwicklung >Python-Tutorial >Konfigurieren des Django-Projekts zum Speichern vertraulicher Daten in einer YAML-Datei

Konfigurieren des Django-Projekts zum Speichern vertraulicher Daten in einer YAML-Datei

Barbara Streisand
Barbara StreisandOriginal
2024-12-04 18:49:12605Durchsuche

Configuring Django project to storing sensitive data in YAML file

Die Hardcodierung von Tokens, Datenbankanmeldeinformationen und anderen sensiblen Daten in .py-Dateien ist nicht sicher. Viele Leute nutzen die Django-Environ-Bibliothek, aber ich halte sie für unpraktisch. Daher verwende ich Yaml-Dateien zum Speichern sensibler Daten und die Pyyaml-Bibliothek zum Lesen der Daten davon.

Projektordner erstellen:

mkdir myproject

Im erstellten Ordner wechseln:

cd myproject

Virtuelle Umgebung erstellen:

python3 -m venv env

Virtuelle Umgebung aktivieren:

source env/bin/activate

Installieren Sie Django und pyyaml:

pip3 install django pyyaml

Neues Django-Projekt starten:

django-admin startproject myproject .

Erstellen Sie die Datei „settings.yaml“ in der Nähe der Datei „settings.py“:

touch myproject/settings.yaml

Importe am Anfang der Datei „settings.py“ einfügen:

import os
import yaml

Code zum Lesen aus der Datei „settings.yaml“ einfügen:

with open(os.path.join(str(Path(__file__).resolve().parent), 'settings.yaml'), 'r') as settingsfile:
    settings = yaml.safe_load(settingsfile)

Code zum Lesen aus der Datei „settings.yaml“ einfügen:

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

Konfigurationen in Settings.yaml einfügen:

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'

Das obige ist der detaillierte Inhalt vonKonfigurieren des Django-Projekts zum Speichern vertraulicher Daten in einer YAML-Datei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn