Rumah >pembangunan bahagian belakang >Tutorial Python >Mengkonfigurasi projek Django untuk menyimpan data sensitif dalam fail YAML

Mengkonfigurasi projek Django untuk menyimpan data sensitif dalam fail YAML

Barbara Streisand
Barbara Streisandasal
2024-12-04 18:49:12594semak imbas

Configuring Django project to storing sensitive data in YAML file

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn