.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'
以上是配置 Django 项目以将敏感数据存储在 YAML 文件中的详细内容。更多信息请关注PHP中文网其他相关文章!