Grundsätzlich werden in vielen Einführungsartikeln verschiedene Einstellungen in der Einstellungsdatei fest codiert, aber es ist nicht gut, unter dem Gesichtspunkt des Betriebs und der Sicherheit praktisch zu denken, um sogenannte SECRET_KEY- und Umgebungsvariablen direkt fest zu codieren. ..
Daher können Sie durch Installieren eines Moduls, das die Einstellungen isolieren, separat verwalten und von dort laden kann, eine harte Codierung vermeiden.
In Python gibt es ein Modul namens Python-Decouple, daher verwende ich in Django als Beispiel settings.py
.
Das diesmal erstellte Projekt kann unter hier eingesehen werden. Wenn Sie also interessiert sind, wenden Sie sich bitte an.
Installieren Sie und
$ pip install python-decouple
$ django-admin startproject decoupleproject
Erstellen Sie ein Projekt.
Da Sie Python-Decouple bereits installiert haben, erstellen Sie eine .env-Datei im selben Verzeichnis wie "manage.py".
Und wenn Sie die Informationen, die Sie nicht fest codieren möchten, in verschiedene Einstellungsdateien in ".env" schreiben und in "sttings.py" importieren, können Sie zwischen Umgebungen wechseln, was sehr nützlich ist.
Zum Beispiel diesmal
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 = []
Wenn Sie auf diese Weise schreiben, können Sie Informationen, die Sie nicht kennen möchten, von außen trennen.
Es gibt andere Module, die die Verbindungsinformationen der Datenbank verbergen, daher möchte ich sie in naher Zukunft vorstellen. Danke für deine harte Arbeit.
Recommended Posts