首页 >后端开发 >Python教程 >配置 Django 项目以将敏感数据存储在 YAML 文件中

配置 Django 项目以将敏感数据存储在 YAML 文件中

Barbara Streisand
Barbara Streisand原创
2024-12-04 18:49:12508浏览

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'

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn