配置 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 文件中的详细内容,更多请关注创想鸟其它相关文章!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月13日 18:36:04
下一篇 2025年12月13日 18:36:13

相关推荐

  • 理解 Python 中的闭包

    在python中,闭包是一个重要的概念,它允许函数“记住”它被创建的环境,即使在函数完成执行之后也是如此。闭包允许我们在不使用全局变量或类实例的情况下实现有状态函数。 在这篇文章中,我们将通过使用 nonlocal 关键字实现一个简单的计数器来探索闭包。让我们深入探讨一下! 什么是闭包? 当嵌套函数…

    好文分享 2025年12月13日
    000
  • Jinbase – 多模型事务嵌入式数据库

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

    2025年12月13日
    000
  • Python – 级别:询问

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

    2025年12月13日
    000
  • Python 初学者指南:快速教程 – 2

    python 是最流行的编程语言之一,以其简单性和多功能性而闻名。无论您是编程新手还是希望为您的项目选择 python,本教程都将指导您完成基础知识。 1.什么是python? python 是一种高级解释型编程语言,强调可读性和效率。它广泛应用于网页开发、数据分析、人工智能、科学计算等领域。 2.…

    2025年12月13日
    000
  • 为您的 Python 项目设置 Conda 环境 – 1

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

    2025年12月13日
    000
  • python怎么写一个简单的爬虫

    为了编写简单的 Python 爬虫,需要:导入库:BeautifulSoup4、requests、lxml发送 HTTP GET 请求解析 HTML 响应提取数据 Python 编写简单爬虫指南 为了编写一个简单的 Python 爬虫,你需要遵循以下步骤: 1. 选择合适的库 使用以下 Python…

    2025年12月13日
    000
  • python爬虫中标签闭合了怎么办

    Python 爬虫中遇到标签闭合可使用以下方法处理:使用 BeautifulSoup 解析库,自动处理标签闭合。使用正则表达式查找标签内容,但需理解正则表达式语法。使用 HTML 解析器生成 DOM,通过 DOM 获取完整内容。 Python 爬虫中标签闭合了如何处理 在 Python 爬虫中,遇到…

    2025年12月13日
    000
  • 一点不会怎么做python爬虫

    入门 Python 爬虫的步骤:安装 Python 和库,并熟悉基础语法和模块。了解爬虫原理、HTTP 请求和响应、HTML 解析。使用 requests 发送 HTTP 请求,使用 BeautifulSoup 解析 HTML,提取数据并存储。处理复杂网站,使用无头浏览器、应对反爬虫措施。清理数据,…

    2025年12月13日
    000
  • python爬虫怎么传两个参数

    Python爬虫传递两个参数的方法是:命令行参数:在命令行中使用 -a 选项,语法:python crawler.py -a arg1=val1 -a arg2=val2。脚本参数:通过 sys.argv 获取命令行参数,语法:import sys;args = sys.argv[1:],再解析参数…

    2025年12月13日
    000
  • python做爬虫 怎么样效率最高

    高效爬虫使用 Python 的优化策略:并行化处理:使用多线程或多进程同时处理多个请求,并利用 asyncio 或 Tornado 实现非阻塞 I/O。缓存请求:存储爬取结果以避免重复爬取。限制请求速率:使用速率限制器控制爬取频率,避免触发网站反爬机制。针对性爬取:使用正则表达式或 CSS 选择器只…

    2025年12月13日
    000
  • python爬虫数据excel保存怎么弄

    使用 Python 爬虫将数据保存到 Excel 的步骤:安装 openpyxl 库。创建 Excel 工作簿和工作表。循环写入数据到单元格中。保存工作簿为 Excel 文件。 如何使用 Python 爬虫将数据保存到 Excel 方法: 1. 安装相关库 pip install openpyxl …

    2025年12月13日
    000
  • python爬虫怎么点下一页

    使用Python爬虫点下一页的方法有两种:Selenium:使用Selenium自动浏览器操作,点击下一页按钮。Requests:发送HTTP请求提取下一页链接,继续爬取。 如何使用 Python 爬虫点下一页 方法一:Selenium Selenium 是一个流行的 Python 爬虫库,它允许你…

    2025年12月13日
    000
  • python爬虫换行符怎么处理

    Python处理换行符的方法有4种:直接移除换行符;替换换行符为指定字符;保留换行符原格式,使用splitlines()方法拆分为行列表;使用正则表达式处理换行符。 Python 爬虫如何处理换行符 在 Web 爬取中,换行符是一个常见的挑战,因为它会影响数据的解析和处理。Python 提供了多种方…

    2025年12月13日
    000
  • python爬虫怎么从接口拿东西

    通过使用编程语言和 HTTP 库,爬虫可以发送请求到提供 API 接口的网站,从而从响应中获取数据。详细步骤包括:确定 API 端点、建立 HTTP 请求、发送请求、处理响应和提取所需数据。 从接口获取数据的 Python 爬虫 如何从接口获取数据? 通过编程语言,爬虫可以发送请求到提供 API 接…

    2025年12月13日
    000
  • python爬虫怎么爬取动态页面

    Python 爬取动态页面的方法包括:Selenium:用于自动化 Web 浏览器,适合复杂的动态页面。Splash:基于 Chromium headless browser,通过 JavaScript API 处理动态页面。Puppeteer:无头 Chrome 浏览器,提供强大 API 控制浏览…

    2025年12月13日
    000
  • python爬虫url里面怎么写

    URL编写对于Python爬虫至关重要,其结构包括协议、主机名、路径、查询字符串和片段标识符。可以使用urllib.parse模块编写和解析URL,它提供urlparse()、urlunparse()、quote()和unquote()等函数。特殊字符需要编码,而查询字符串包含附加信息并以问号开头。…

    2025年12月13日
    000
  • 超越基础:掌握 Python 的隐藏功能以实现高效编码

    python 的简单性是其最大优点之一,使其成为初学者和专业人士的最爱。然而,除了基础知识之外,还有一个隐藏功能和强大工具的宝库,可以增强您的编码技能。掌握这些高级概念可以让你的代码更加高效、优雅、可维护。本文深入探讨了每个开发人员都应该知道的 python 鲜为人知的宝石。 1.用*和**解压py…

    2025年12月13日
    000
  • 剪掉多余的部分(大约)

    python 编程语言具有近似数据的能力。也就是说,科学地近似函数并将数字四舍五入为特定且精确的数字。 python 中的许多数学函数看起来简洁且符合人体工程学,例如范围、向量等。 随机函数允许您通过变量/数组的所有可能值运行算法。整数的随机数近似函数 (randint) 创建了代码工作的可移植性。…

    2025年12月13日
    000
  • 新博客系列:Python 人工智能基础知识

    欢迎来到我的新博客系列,我们将在机器学习的背景下探索 Python 的迷人世界。由于其简单性和提供的强大库,Python 已成为数据科学和机器学习领域的基石。无论您是初学者还是希望提高自己的技能,本系列都将指导您了解 Python 的基础知识,为您的机器学习之旅奠定坚实的基础。 系列路线图 以下是您…

    2025年12月13日
    000
  • Python 日循环练习、数字游戏和任务

    1)编写一个程序来获取以下输出:1 2 3 4 5 5 4 3 2 1 no = 1top = 5direction = 1while no>0: print(no,end= ‘ ‘) if no == top: print(no,end=’ ‘) direction = -1 no = no…

    2025年12月13日
    000

发表回复

登录后才能评论
关注微信