变量管理 dotenv 的 使用
python-dotenv
安装
pip install python-dotenv 或 pipenv install python-dotenv --skip-lock
创建目标文件
在项目根目录下创建, (可灵活选择)
touch .env
使用
import os
from dotenv import load_dotenv // 1. 导包
from pathlib import Path
if __name__ == '__main__':
load_dotenv() //2. 加载 .env 文件, 默认 这个文件名,默认自动 在当前工作目录下 查找
"""
文件可以是任意一个文件,则在加载时 需 显式 添加 参数 dotenv_path 来指定 此文件的位置,
例如:
env_path = Path("./modelForm_Demo01/.env")
load_dotenv(dotenv_path= env_path)
"""
courseList = eval(os.getenv("courseList")) // 3. 通过 os.genenv(key) 来获取, 类型都为字符串
// 获取到的字符串值, 可通过 eval() 内建函数 来转换为 对应 的 类型
print(type(courseList))
print(courseList[0])
Django-dotenv
安装
pip install django-dotenv 或 pipenv install django-dotenv --skip-lock
卸载 python-dotenv
pip uninstall python-dotenv
使用
修改 manage.py -------, 使用 runserver 启动 Django 的 情况下
import os
import sys
import dotenv // 1. 导包 def main():
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'modelForm_Demo01.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
pass
execute_from_command_line(sys.argv) if __name__ == '__main__':
dotenv.read_dotenv() // 2. 加载 .env 文件,默认 项目 根路径下查找,
"""
params:
dotenv : 文件 地址,例:os.path.abspath(os.path.join(os.path.dirname(__file__), '.env02'))
override : 如果.env中的值应该覆盖系统变量,则为True , 默认 False
"""
EMAIL_URL = os.getenv("EMAIL_URL") // 3. 获取 变量
main()
修改 wsgi.py 文件, ----- 使用 uwsgi 启动 Django 的 情况下
# 具体 使用 方法 与 上面讲的 一样
import os
from django.core.wsgi import get_wsgi_application
import dotenv // 1. 导包 dotenv.read_dotenv(os.path.join(os.path.dirname(__file__), '.env02')) // 2. 加载
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'modelForm_Demo01.settings') EMAIL_URL = os.getenv("EMAIL_URL") // 3. 获取 变量
application = get_wsgi_application()
.env 文件说明
1. 使用键值对的形式定义
2. 以 # 开头的为注释
变量管理 dotenv 的 使用的更多相关文章
- 集成direnv 与docker-compose 进行环境变量管理
direnv 是一个不错的换将变量管理工具,同时日常的开发测试中我们使用docker-compose 会比较多,一般我们的玩法是 可以再docker-compose 中指定环境变量,可以通过envir ...
- direnv 一个强大的环境变量管理工具
direnv 是一个基于golang 编写的强大的环境变量管理工具,可以帮助我们简化环境变量管理,而且 支持的平台比较多. 基本使用 下载二进制软件包 https://github.com/dir ...
- Tesnsorflow命名空间与变量管理参数reuse
一.TensorFlow中变量管理reuse参数的使用 1.TensorFlow用于变量管理的函数主要有两个: (1)tf.get_variable:用于创建或获取变量的值 (2)tf.varia ...
- Ansible_变量管理与设置
一.Ansible变量管理 1.变量概述 Ansible支持利用变量来存储值,并在Ansible项目的所有文件中重复使用这些值.这可以简化项目的创建和维护,并减少错误的数量 通过变量,可以轻松地在An ...
- Tensorflow 之 name/variable_scope 变量管理
name/variable_scope 的作用 充分理解 name / variable_scope TensorFlow 入门笔记 当一个神经网络比较复杂.参数比较多时,就比较需要一个比较好的方式来 ...
- 83、Tensorflow中的变量管理
''' Created on Apr 21, 2017 @author: P0079482 ''' #如何通过tf.variable_scope函数来控制tf.ger_variable函数获取已经创建 ...
- VSCode的Python扩展下程序运行的几种方式与环境变量管理
在VSCode中编写Python程序时,由于有些地方要使用环境变量,但是发现设置的环境变量有时不起作用,花了点时间研究了一下,过程不表,直接说结论. 首先,环境变量的设置,Python扩展中有三种方式 ...
- 6_1 持久化模型与再次加载_探讨(1)_三种持久化模型加载方式以及import_meta_graph方式加载持久化模型会存在的变量管理命名混淆的问题
笔者提交到gitHub上的问题描述地址是:https://github.com/tensorflow/tensorflow/issues/20140 三种持久化模型加载方式的一个小结论 加载持久化模型 ...
- [ Module ] 环境变量管理工具 Module 安装和使用
https://www.cnblogs.com/yeungchie/ 1. 工具下载 手动下载 modules-5.1.0 点击下载 wget 下载 wget https://jaist.dl.sou ...
随机推荐
- 使用django 的cache设置token的有效期
from rest_framework.authentication import BaseAuthentication from rest_framework.exceptions import A ...
- 对getBoundingClientRect属性的研究
1.getBoundingClientRect用于获取某个元素相对于视窗的位置集合.集合中有top, right, bottom, left等属性. .top:元素上边到视窗上边的距离; right: ...
- js事件循环机制
本文参考链接:https://www.jianshu.com/p/cf47bc0bf2ab 一.先搞懂两个东西:堆和栈 栈由操作系统自动分配释放,用于存放函数的参数值.局部变量等一些基本的数据类型,其 ...
- deque的简单使用
depue 是python提供的一个数据结构,线程安全,功能比list强大 from collections import deque user_list = ['admin', 'root'] us ...
- vim 批量添加删除注释
vim中单行注释只是多行注释的一个特例,这里统一进行多行注释的讲解 (1)添加批量注释 ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I(shift+i) ...
- HDU | 1874 畅通工程续 SPFA&DIJIESITLA
题目: 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多.这让行人很困扰 ...
- [CSP-S模拟测试]:Permutation(线段树+拓扑排序+贪心)
题目描述 你有一个长度为$n$的排列$P$与一个正整数$K$你可以进行如下操作若干次使得排列的字典序尽量小对于两个满足$|i−j|\geqslant K$且$|P_i−P_j|=1$的下标$i$与$j ...
- laravel5.6 ORM 关联模型,一对一和一对多
Laravel5.6 关联模型的操作,主要是一对一,一对多,多对多等操作.下面示例主要解析前面两个操作用法比较常用.(操作和用法TP5类似)将关联查询使用语法hasOne.hasMany.belong ...
- 阿里云code上传代码
1-从官网下载git,然后安装,这一步可以百度. 2-在阿里云上面创建project,如图 3-回到本地,进入本地代码文件目录,右击打开git 4-输入git init 在文件夹下面会出现.git文件 ...
- CAD到ArcGIS相关操作
1.Ctrl+N(新建图形)→复制原数据,粘贴到原坐标 2.将CAD数据转为矢量数据方法众多,此处将提供三种方法: 方法一:CAD转地理数据库注记 在[ArcToolBox]窗口中,双击[转换工具]→ ...