解决python flask中config配置管理的问题

yipeiwu_com6年前Python基础

在项目中我们需要配置各种环境。如果我们的配置项很少的话,可以直接简单粗暴的来;

比如:

app =Flask(__name__)
app.config['DEBUG']=True

app.config其实是实例化了flask.config.Config类的实例,

继承于python内置数据结构dict字典,可以使用update方法:

app.config.update(
DEBUG=true,
SECRET_KEY='xxxx'
)

如果设置很多的情况下,想要集中起来管理设置项,

应该将他们存放在一个文件里面。

app.config支持很多的配置方式。

比如现在我们有叫settings.py的配置文件,里面的内容是

sss=yy

我们可以有三种方式加载。

1)使用配置文件进行加载

app.config.from_object('settings.py')#使用模块的名字
#也可以在引用之后直接传入对象
import settings
app.config.from_object(settings)

2)使用文件名字加载。直接传入名字就行了

别的后缀的也可以,不局限于.py的

app.config.from_pyfile('settings.py',silent=True)
#默认当配置文件不存在的时候抛出异常,
#使用silent=True的时候只是会返回False,但是不抛出异常

3)使用环境变量加载。这种方法依然支持silent参数,获得路径后其实

还是使用from_pyfile的方式加载的。

$ export YOURAPPLICATION_SETTINGS='settings.py'
app.config.from_envvar('YOURAPPLICATION_SETTINGS')

以上这篇解决python flask中config配置管理的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python通过scapy获取局域网所有主机mac地址示例

python通过scapy获取局域网所有主机mac地址示例

python通过scapy获取局域网所有主机mac地址复制代码 代码如下:#!/usr/bin/env python# -*- coding: utf-8 -*-from scapy.a...

python把1变成01的步骤总结

python把1变成01的步骤总结

python如何把1变成01 1.实现头部utf8编码的方法代码 2.实现读属性的方法代码 3.实现写属性的方法代码 4.实现高度的方法代码 5.实现resolution的方法代...

python 中split 和 strip的实例详解

 python 中split 和 strip的实例详解 一直以来都分不清楚strip和split的功能,实际上strip是删除的意思;而split则是分割的意思。 python...

Python for循环与range函数的使用详解

for 循环 For … in 语句是另一种循环语句,其特点是会在一系列对象上进行迭代(Iterates),即它会遍历序列中的每一个项目 注意: 1、else 部分是可选的。当循环中包含...

基于Python3.6+splinter实现自动抢火车票

本文实例为大家分享了python实现自动抢火车票,供大家参考,具体内容如下 splinter使用 首先介绍一下splinter使用: plinter.brower是一个开源工具,通过Py...