当前位置: 首页 > 面试题库 >

Flask怎样获取和使用配置信息?

龙永福
2023-05-16

Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合 MVC模式 进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。


在Flask中,若需要在程序中使用配置信息,以便对程序的一些行为进行定制,则可以采用多种方式将配置信息保存到Flask类对象的config属性中。config属性的值是一个flask.Config类的对象,flask.Config类是一个Python字典子类,它的工作方式类似于字典,既可以通过访问字典元素的方式使用配置信息,也可以通过flask.Config类提供的导入配置项的方法使用配置信息。


本节我们介绍Flask配置信息的使用,通过访问字典元素、导入文件和导入对象这3种方式使用配置信息。

通过访问字典元素的方式使用配置信息

可以通过访问字典元素的方式获取Flask程序的配置项,并重新为该配置项赋值。例如,通过为Flask类的对象app设置配置项TESTING,以启用测试模式,代码如下所示。

app.config['TESTING'] = True

若希望一次修改多个配置项,则可以调用flask.Config从父类继承的update()方法实现。例如,为Flask类的对象app设置配置项TESTING和SECRET_KEY,从而使程序启用测试模式以及设置密钥,具体代码如下所示。

app.config.update(
TESTING=True,
SECRET_KEY=b'_5#y2L"F4Q8z\n\xec]/'
)

通过导入文件的方式使用配置信息

可以将所有的配置项存入单独的文件中,之后将该文件导入到Flask程序。flask.Config类中提供了一些从文件中导入配置项的方法,关于这些方法的介绍如下。

●from_file():从指定的文件中导入配置项,并更新配置项的值。

●from_pyfile():从.py文件中导入配置项,并更新配置项的值。

#通过from_file()方法从config.json文件中导入配置项
import json
app.config.from_file("config.json", load=json.load)
#通过from_pyfile()方法从config.py文件中导入配置项
app.config.from_pyfile("config.py")

可以通过定义Python类属性的方式设置配置项,之后将包含配置项的Python类的对象导入到Flask程序中。flask.Config类中提供了一些从Python类中导入配置项的方法

from_object(),from_object()方法用于从给定对象中导入配置项,并更新配置项的值。需要说明的是,from_object()方法只会加载Python类中以大写字母命名的属性。如果Python类中有一个@property属性,则该类在被传递给from_object()方法之前需要进行实例化。

通过导入对象的方式使用配置信息

定义一个包含两个配置项TESTING和SECRET_KEY的类Settings,之后调用from_object(O方法从Settings类中加载配置项,并在程序中使用这些配置信息,具体代码如下所示。


 类似资料:
  • 本文向大家介绍怎样获取docker动态分配的port,包括了怎样获取docker动态分配的port的使用技巧和注意事项,需要的朋友参考一下 一、原由 当在一个集群环境中,我们需要用到docker启动一个服务的时候,如果总是指定固定的公开端口给docker运行的服务,那么将极大的限制了服务部署的灵活性和可维护行。那么有没有办法在服务启动后去容易获得docker动态分配的端口呢? 二、解决办法 Doc

  • 说明 获取平台等位配置信息 请求地址 http://api.dc78.cn/Api/wwconf 请求方式 GET 请求参数 URL参数 描述 无 POST参数 描述 无 返回 { "status": "1", "tabset": [ { "type": "A", "name": "小台(2-4人)" }, { "type": "B", "name": "中台(5-7人)" }, { "type"

  • 请求参数说明 参数 描述 必填 示例值 类型 最大长度 action 接口参数组 是 object └action 需要调用的接口名称 是 wwconf string 请求示例 { "action": { "action": "wwconf" } } 响应参数说明 参数 描述 必填 示例值 类型 最大长度 status 返回状态。接口成功时为1,出错为0 是 1 number tabset

  • 本文向大家介绍怎样使用Hooks获取服务端数据?相关面试题,主要包含被问及怎样使用Hooks获取服务端数据?时的应答技巧和注意事项,需要的朋友参考一下

  • 设置用户信息 方法参数SetUserInfoRequest developerId : String : optional 未指定时,服务端会自动获取用户对应的developerId,非系统管理员用户不可指定其他人的developerId userName : String : optional 用户名称 email : String : optional 用户的email地址 当使用Queue的

  • 接口说明 获取团队可配置权限信息 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 GET /permissions/api/team/v1.0.0/getTeamPermissions 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 token string header 是 当前登录用户的TOKEN 响应字段说明 参数

  • 接口说明 获取团队可配置权限信息 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 如开启https功能,请求地址的协议应改为https,如:https://www.example.com/wish3dearth/api/access/v1.0.0/getLicenseInfo API地址 GET /permissions/api/team/v1.0.0/

  • 问题内容: 当我尝试使用以下设置通过Flask-Mail将电子邮件发送到Gmail的SMTP服务器时,我得到了。如何修改我的配置以通过Gmail发送电子邮件? 问题答案: 服务器是“ smtp.gmail.com”。 端口必须与使用的安全性类型匹配。 如果将STARTTLS与一起使用,请使用。 如果直接将SSL / TLS与一起使用,则使用。 同时启用STARTTLS或SSL / TLS。 根据你