当前位置: 首页 > news >正文

【python学习】深度解析 Python 的 .env配置与最佳实践:温格高的环境变量配置之道

1. 文章简介

在开发和部署 Python 项目时,环境变量配置对于管理敏感信息如数据库连接字符串、API 密钥至关重要。本文将以温格高(2023年环法冠军)的项目为例,详细介绍如何通过 .env 文件简化环境配置,并分享多环境管理、Docker 集成等热门功能。我们还将覆盖一些小技巧和常见错误,帮助你避免开发中的踩坑。

2. 使用 .env 文件的好处

温格高团队正在开发一个记录自行车赛事的应用,涉及多个开发环境和敏感信息,比如 API 密钥和数据库连接。直接硬编码这些信息显然是不明智的。通过使用 .env 文件,温格高可以确保这些敏感数据不会暴露到代码库中,并且能根据不同环境(开发、测试、生产)快速切换配置。

3. 创建 .env 文件

我们为温格高的项目创建一个 .env 文件:

# .env 文件内容
DATABASE_URL=mysql://user:password@localhost:3306/wengegao
API_KEY=secretapikey123
DEBUG=True

这个文件会存储在项目的根目录,并通过 python-dotenv 库加载。

4. 加载 .env 文件

为了读取 .env 文件中的内容,温格高使用了 python-dotenv 库。下面是如何在 Python 代码中加载环境变量的示例:

import os
from dotenv import load_dotenv# 加载 .env 文件
load_dotenv()# 读取环境变量
database_url = os.getenv("DATABASE_URL")
api_key = os.getenv("API_KEY")
debug_mode = os.getenv("DEBUG", "False").lower(
http://www.lryc.cn/news/431130.html

相关文章:

  • 计算机考研真题知识点——2021(B)
  • C#中ArrayList
  • 【MySQL】批量插入数据造数-存储过程
  • 基于Java+SpringBoot+Vue+MySQL的高校物品捐赠管理系统
  • UNION和UNION ALL的区别
  • 科研绘图系列:R语言PCoA图(PCoA plot)
  • C++ 容器元素排序函数sort()
  • 如何在极狐GitLab中添加 SSH Key?
  • Kafka-设计原理
  • 51单片机的智能台灯设计【proteus仿真+程序+报告+原理图+演示视频】
  • 【论文阅读】一种针对多核神经网络处理器的窃取攻击(2020)
  • 基于VUE的校园二手物品交易管理系统的设计与实现 (含源码+sql+视频导入教程)
  • pytest 常用的辅助函数和工具函数
  • 记录Java秋招面经(网上找的)
  • 记录k8s重启之后kubelet无法启动的问题
  • IA——网络操作设备VRP简介
  • Java项目: 基于SpringBoot+mysql企业客户管理系统(含源码+数据库+答辩PPT+毕业论文)
  • 基于STM32设计的智能安防系统(微信小程序)(218)
  • tomcat redis minio nginx windows开机自启
  • Docker构建镜像教程
  • 扑捉一只耿鬼(HTML文件)
  • Address localhost:1099 is already in use:tomcat频繁重启端口占用问题
  • HTTPS SEO优势
  • UE5 C++ 读取图片插件(一)
  • C语言行地址列地址区别,内存的分配
  • Unity 一键修改图片缩放保存为当前的一半大小
  • Identifying User Goals from UI Trajectories论文学习
  • [STM32]从零开始的STM32标准库环境搭建(小白向)
  • 解决 Android 上的 .NET MAUI/Xamarin.AndroidX 应用调用 ASP.NET Core API 端点时 SSL 连接被拒绝的问题
  • 助贷CRM系统:为金融中介行业打造全新营销管理模式