Token pengekodan keras, bukti kelayakan pangkalan data dan data sensitif lain dalam fail .py tidak selamat. Ramai orang menggunakan perpustakaan django-environ, tetapi saya fikir ia menyusahkan. Jadi saya menggunakan fail yaml untuk menyimpan data sensitif dan perpustakaan pyyaml untuk membaca datanya.
Buat folder projek:
mkdir myproject
Tukar dalam folder yang dibuat:
cd myproject
Buat persekitaran maya:
python3 -m venv env
Aktifkan persekitaran maya:
source env/bin/activate
Pasang Django dan pyyaml:
pip3 install django pyyaml
Mulakan projek Django baharu:
django-admin startproject myproject .
Buat fail settings.yaml berdekatan dengan fail settings.py:
touch myproject/settings.yaml
Sisipkan import dalam permulaan fail settings.py:
import os import yaml
Masukkan kod untuk membaca daripada fail settings.yaml:
with open(os.path.join(str(Path(__file__).resolve().parent), 'settings.yaml'), 'r') as settingsfile: settings = yaml.safe_load(settingsfile)
Masukkan kod untuk membaca daripada fail 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'], } }
Letakkan konfigurasi dalam tetapan.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'
Atas ialah kandungan terperinci Mengkonfigurasi projek Django untuk menyimpan data sensitif dalam fail YAML. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!