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

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

.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 osimport 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: trueALLOWED_HOSTS:  - 127.0.0.1  - localhost  - 0.0.0.0DATABASES:  NAME: 'database_name'  USER: 'database_user'  PASSWORD: 'password'  HOST: '127.0.0.1'  PORT: '5432'

登录后复制

以上就是配置 Django 项目以将敏感数据存储在 YAML 文件中的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2176514.html

(0)
上一篇 2025年2月25日 12:57:52
下一篇 2025年2月23日 03:29:27

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Jinbase – 多模型事务嵌入式数据库

    嗨,开发者! 我是 Alex,一名技术爱好者。我很高兴向您展示 Jinbase,我的多模型事务嵌入式数据库。 大约一年前,我介绍了 Paradict,这是我对多格式流序列化的看法。鉴于其可读性,Paradict 文本格式实际上是配置文件的一…

    2025年2月25日
    200
  • Python – 级别:询问

    1 级任务 1) 华氏度到摄氏度转换 f=int(input(“enter the no. “))c=5/9*(f-32)print(“fahrenheit to celsius”,round(c)) 登录后复制 输出: enter the…

    2025年2月25日
    200
  • Python 初学者指南:快速教程 – 2

    python 是最流行的编程语言之一,以其简单性和多功能性而闻名。无论您是编程新手还是希望为您的项目选择 python,本教程都将指导您完成基础知识。 1.什么是python? python 是一种高级解释型编程语言,强调可读性和效率。它广…

    2025年2月25日
    200
  • 为您的 Python 项目设置 Conda 环境 – 1

    使用 conda 和requirements.txt 设置 python 项目 在处理 python 项目时,创建隔离的环境来管理依赖关系并避免冲突至关重要。本指南将帮助您安装 anaconda、解决常见问题并为您的项目设置虚拟环境。 1.…

    2025年2月25日
    200
  • 为什么 Spark 慢?

    为什么 spark 慢? 从一个引人注目的标题“spark 为什么这么慢?”开始,值得注意的是,称 spark“慢”可能意味着多种含义。聚合速度慢吗?数据加载?存在不同的情况。此外,“spark”是一个广泛的术语,其性能取决于编程语言和使用…

    2025年2月25日
    200
  • AoC ‘- 日历史学家歇斯底里(C# 和 Python)#剧透

    今天的挑战非常简单: 第 1 部分:为了解决这个问题,我们必须 根据字符串输入创建 2 个数字列表,按升序排序对于list1中的每个数字,在list2中获取相同的索引,并找到两个数字之间的距离。 然后将距离相加 简单吧。 第 2 部分: 这…

    2025年2月25日
    200
  • 如何使用 Python 抓取 Google 搜索结果

    抓取 google 搜索可提供基本的 serp 分析、seo 优化和数据收集功能。现代抓取工具使这个过程更快、更可靠。 我们的一位社区成员撰写了此博客,作为对 crawlee 博客的贡献。如果您想向 crawlee 博客贡献此类博客,请通过…

    2025年2月25日 编程技术
    200
  • 爬虫python怎么读

    Python 网页爬取可通过 requests 库获取响应内容,再用 BeautifulSoup 库解析 HTML 结构。首先导入 requests 库发送 HTTP 请求,然后导入 BeautifulSoup 库解析内容,可查找和提取 H…

    2025年2月25日
    200
  • python爬虫怎么点按钮

    使用 Seleniumwebdriver 来模拟浏览器操作,通过单击元素的 ID 或 XPath 来点击按钮。步骤包括:安装 Seleniumwebdriver、导入模块、创建 WebDriver 实例、导航到页面、定位按钮(使用 find…

    2025年2月25日
    200
  • python爬虫代码怎么操作

    如何操作 Python 爬虫代码?导入 Python 库(requests、BeautifulSoup);发送 HTTP 请求获得 HTML 代码;解析 HTML 代码形成树形结构;查找所需的 HTML 元素;提取所需的数据;对提取的数据进…

    2025年2月25日
    200

发表回复

登录后才能评论