百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Flask框架配置管理(flask框架可以做什么)

ccwgpt 2024-09-15 15:05 46 浏览 0 评论

引言


应用程序需要某种配置。根据应用程序环境,您可能需要更改不同的设置,例如切换调试模式、设置密钥以及其他特定于环境的事物。下面介绍在flask中如何去管理这些配置信息。


Flask中配置类:Config


在 Flask 应用程序中,Config类是一个用于管理应用程序配置的基类,它提供了一个方便的方式来管理 Flask 应用的各种环境配置,包括调试模式、数据库连接、日志、邮件、缓存等;提供了一个方便的方式,使得我们可以灵活管理Flask应用的各种各样环境配置。查看下下面代码。

from flask import Flask 

app = Flask(__name__) 
if __name__ == '__main__': 
print(type(app.config))

当我们运行上面代码时,输出结果为<class 'flask.config.Config'>;

可以看出app.config是一个定义在flask.config模块中的类Config;也就是Flask提供了一个config属性,当创建完Flask应用实例时,也就是实例化Config了,可以通过其提供的一些方法进行管理配置;若要了解Config整个创建过程,可以参照config属性的源码进行了解;通过其源码可以看到Config继承了dict,这也就代表Config可以使用一切dict相关方法,接下来介绍一下使用方式。

在Flask中Config类的使用也是非常灵活,有很多种方式设置和加载配置。例如,可以直接代码里面写入配置值使用dict方法修改,或者使用os模块中getenv()方法、environ.get(),再配合系统环境变量进行获取配置值。对于一些不适宜在程序中写入如密码,或者一些通用配置信息可以用Config类来进行管理。

方式1直接使用:

app.config['DEBUG'] = True # 设置DEBUG值

如果要更新多个配置,可以使用dict.update()方法:

app.config.update(
DEBUG=True, SECRET_KEY=’af176072121a1f1c9cf7a8c58364535ebfd75865’
)

方式2 从Python文件进行配置app.config.from_object()

这个允许接收的参数可以是str类型,可以是一个模块,甚至是一个类。以下举例说明,下面是编写时目录结构

__init__.py代码如下

config.py代码如下:

当执行时__init__.py时,输出结果为

若是将传入参数改为字符串形式,也是可以的,如下代码

输出结果:

除了以上方式之外还有以下等方式

①.通过py文件配置from_pyfile(self, filename, silent=False)

app.config.from_pyfile("python文件名称")

②.通过环境变量配置:from_envvar(self, variable_name, silent=False)

app.config.from_envvar("环境变量名称")

③.json文件:from_json(self, filename, silent=False)

app.config.from_json("json文件名称"),注意文件必须是json格式

④.字典格式:from_mapping(self, *mapping, **kwargs)

app.config.from_mapping({'DEBUG': True})

⑤.通过 Flask 构造函数的 config 参数设置:

from flask import Flask 
app = Flask(__name__, config={
'DEBUG': True, 
'SECRET_KEY': 'af176072121a1f1c9cf7a8c58364535ebfd75865'
})

实际中推荐使用app.config.from_object(),这种方法可以配置多套,使用时,可以配合当前系统中环境变量,传入不同类即可实现。

以windows系统举例当在系统中配置好环境变量后,可以使用os库中environ.get()、getenv()或者其他方式获取系统环境变量,进而更好管理所需要的配置信息,需要注意windows设置了环境变量后,需要重启电脑才会生效

在config.py中代码如下

init__.py中代码如下



总结


总的来说,Flask中的Config类是一个非常有用、方便的配置管理,提供了多种配置方式,可以帮助我们更好地管理应用程序的配置参数。通过使用Config类,我们可以创建一个基础配置类,并在不同环境或不同应用程序中使用它,当我们需要添加或修改某些配置项时,只需创建一个新的配置类来继承基础配置类并重写需要更改的配置项即可。这样可以让我们更加轻松地管理应用程序的配置,使代码更加整洁、易读和灵活。


来源:微信公众号:360质量效能

出处:https://mp.weixin.qq.com/s/E2T1l77irX7G_DsXOw4ObQ

相关推荐

公司组织架构及部门职责#管理制度 #薪酬绩效 #组织架构

...

终于把“公司组织架构与管理部岗位配置”整理好了,拿来即用!

...

老板看完这份“公司组织架构详解”就解放了!

...

丨公司丨公司大架构整理汇总

注:本文转自团队成员原创作品,特此鸣谢(公号:法海图鉴)今日话题公司大架构整理背景介绍经过前几期话题对各种企业类型的介绍,想必大家已经有了初步认识。之后我将带着大家开启对公司的深入了解。本期...

图解物理--八年级物理下册最全知识框架导图

第七章力1力2弹力3重力第八章运动和力1牛顿第一定律2二力平衡3摩擦力第九章压强1压强2液体压强3大气压强4流体压强与流速的关系第十章浮力1浮力2阿基米德原理3物体的浮沉条件及应用第十一章功...

八年级上册生物,思维导图,期末高分必备资料,家长收藏

这是八年级上册生物的思维导图,孩子在背诵知识点的时候,可以看一下知识点在导图中的位置,形成对知识点整体的把握,有助于学生拿高分,特别是图片中带红色星星的部分,更是要注意背诵,是重点内容。家长可以把图片...

2019政府工作报告精华,这张思维导图里全都有

每经记者:李可愚每经编辑:陈星每日经济新闻

图解薪酬体系结构设计

...

司考复习独家总结!一张图总结行政法知识结构体系

作为三大实体法之一,行政法的分值在60分左右,行政法在司法考试中一直比较平稳常规,没有偏题怪题,还是比较容易得分的。小编要提醒大家,在3月之前要把三大实体法学习一遍。下图是厚大在线360导学师小周总结...

一图读懂香港国安新架构:各职位人选公布 有官员曾强硬喊话乱港分子

实用干货!高中物理框架图,让零碎知识“串联”起来

高中物理学习一定要抓好逻辑结构大框架!了解整个知识框架体系后,更易抓住骨干知识,干掉重难知识点~今天给大家分享高中物理的框架图同学们赶紧收藏起来吧!力学知识结构图光学知识结构图热学、原子物理知识结构图...

254m超高层办公楼型钢砼框架-核心筒结构图

高度类别:超高层建筑钢筋混凝土结构:框架,框架核心筒钢结构:钢框架建筑功能:办公包含:办公楼57层(-3层)254.150m钻孔灌注桩桩+筏板型钢混凝土框架-钢筋混凝土核心筒西裙房2层(-...

砖混结构与框架结构,究竟有何区别?千万别被坑!

现在买房装修的人最怕啥?不是价格高,而是房子不安全!两种主流建筑结构,砖混靠墙,框架靠柱子,选错了隔墙都可能要命。简单说,砖混便宜但别碰高层,框架贵点但能保命。砖混那些承重墙根本不能拆,想砸墙改个开放...

大师一百——高中化学必考:《元素周期律》考点框架图

今天大师给大家带来的是高中化学的《元素周期律》考点框架图,高中的同学必须牢记于心,这种重要的考点,考试是一定会考的!化学大师...

需求分析框架图

需求分析框架图

取消回复欢迎 发表评论: