Verwalten Sie Django-Konfigurationsdateien mit Python-Decouple

Warum brauchst Du es

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.

Einführung

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".

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

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

Verwalten Sie Django-Konfigurationsdateien mit Python-Decouple
Laden Sie Dateien mit Django hoch
Behandeln Sie CSV-Dateien mit Django (Django-Import-Export)
Internationalisierung mit Django
CRUD mit Django
Django: User Agent aufzeichnen und mit Admin verwalten
Konfigurieren Sie ein Modul mit mehreren Dateien in Django
Authentifizieren Sie Google mit Django
Django 1.11 wurde mit Python3.6 gestartet
Entwicklungsverdauung mit Django
PDF mit Django ausgeben
Markdown-Ausgabe mit Django
Verwenden Sie Gentelella mit Django
Erste Schritte mit Django 1
Mail mit Django senden
Datei-Upload mit Django
Verwenden Sie WENIGER mit Django
Pooling mechanisieren mit Django
Verwenden Sie MySQL mit Django
Django ab heute
Erste Schritte mit Django 2
[Django] Verwalten Sie Einstellungen wie das Schreiben in settings.py mit einem Modell
Umgang mit statischen Dateien bei der Bereitstellung in der Produktion mit Django
Mach Django mit CodeStar (Python3.6.8, Django2.2.9)
Verwalten Sie Cron-Jobs mit Python
Fangen Sie mit Django an! ~ Tutorial ⑤ ~
Minimale Konfigurations-Website-Umgebung mit Django
Erstellen Sie eine API mit Django
Verwalten Sie die Python-Umgebung mit virtualenv
Mach Django mit CodeStar (Python3.8, Django2.1.15)
Stellen Sie Django serverlos mit Lambda bereit
Python3 + Django ~ Mac ~ mit Apache
Erste Schritte mit Python Django (1)
Erstellen Sie eine Homepage mit Django
Sortieren von Bilddateien mit Python (2)
Fangen Sie mit Django an! ~ Tutorial ④ ~
Sortieren Sie große Dateien mit Python
Sortieren von Bilddateien mit Python (3)
Erste Schritte mit Python Django (4)
Erstellen Sie eine Webanwendung mit Django
Erste Schritte mit Python Django (3)
Kombinieren Sie Fast API mit Django ORM
Fangen Sie mit Django an! ~ Tutorial ⑥ ~
Bilddateien mit Python sortieren
Verwenden Sie Django, um Tweet-Daten zu speichern
Dateien mit teraterm übertragen [Hinweis]
Integrieren Sie PDF-Dateien in Python
TXT-Dateien mit Python lesen
Führen Sie eine AES-Verschlüsselung mit DJango durch
Einführung in Python Django (6)
Kombiniere zwei Bilder mit Django
Erste Schritte mit Django mit PyCharm
Informationen zum Umgang mit statischen Django-Dateien
Echtzeit-Web mit Django-Kanälen
Arbeiten mit JSON-Dateien in Matlab
Doppelte Submit-Unterdrückung mit Django
Django REST Framework mit Vue.js
Verwenden Sie prefetch_related bequem mit Django
Erste Schritte mit Python Django (5)
Melden Sie sich mit dem Django Rest Framework an
Qiita API Oauth mit Django