> 백엔드 개발 > 파이썬 튜토리얼 > 민감한 데이터를 YAML 파일에 저장하도록 Django 프로젝트 구성

민감한 데이터를 YAML 파일에 저장하도록 Django 프로젝트 구성

Barbara Streisand
풀어 주다: 2024-12-04 18:49:12
원래의
571명이 탐색했습니다.

Configuring Django project to storing sensitive data in YAML file

.py 파일의 토큰, 데이터베이스 자격 증명 및 기타 민감한 데이터를 하드코딩하는 것은 안전하지 않습니다. 많은 분들이 django-environ 라이브러리를 사용하고 계시지만 불편한 것 같아요. 그래서 민감한 데이터를 저장하는 데에는 yaml 파일을 사용하고, 그 데이터를 읽는 데에는 pyyaml ​​라이브러리를 사용합니다.

프로젝트 폴더 생성:

mkdir myproject
로그인 후 복사

생성된 폴더 전환:

cd myproject
로그인 후 복사

가상 환경 만들기:

python3 -m venv env
로그인 후 복사

가상 환경 활성화:

source env/bin/activate
로그인 후 복사

Django 및 pyyaml ​​설치:

pip3 install django pyyaml
로그인 후 복사

새 Django 프로젝트 시작:

django-admin startproject myproject .
로그인 후 복사

settings.py 파일 근처에 settings.yaml 파일을 만듭니다.

touch myproject/settings.yaml
로그인 후 복사

settings.py 파일 시작 부분에 가져오기 삽입:

import os
import yaml
로그인 후 복사

settings.yaml 파일에서 읽기 위한 코드 삽입:

with open(os.path.join(str(Path(__file__).resolve().parent), 'settings.yaml'), 'r') as settingsfile:
    settings = yaml.safe_load(settingsfile)
로그인 후 복사

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'],
    }
}
로그인 후 복사

settings.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'
로그인 후 복사

위 내용은 민감한 데이터를 YAML 파일에 저장하도록 Django 프로젝트 구성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿