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

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

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'
登录后复制

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

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板