Flask 项目参数配置以及读取

小编 2026-07-07 阅读:836 评论:0
在Django项目中,配置的参数都是在settings.py文件中进行设置,如果需要使用参数,则可以导入from django.conf import settings,然后使用参数。那么在Flask中,怎么处理呢?Flask设置参数的方式...

在Django项目中,配置的参数都是在settings.py文件中进行设置,如果需要使用参数,则可以导入from django.conf import settings,然后使用参数。

那么在Flask中,怎么处理呢?

Flask设置参数的方式

可以从函数看到,项目的配置参数可以使用多种方式来设置。下面主要来看看几种常用的设置方式。

使用配置文件的方式

  • 创建配置文件 settings.py

这个配置文件名称可以任意设置,不一定要用我这个。

  • 设置调试模式
  • 在项目中加载配置文件
# 加载配置文件
app.config.from_pyfile('settings.py')
  • 在视图函数中设置错误方法,查看Debug提示
# route()方法用于设定路由;类似spring路由配置
@app.route('/')
def hello_world():
    a = 1 / 0 # 分母为零,则会Debug报错
    return 'Hello, World!'
  • 访问视图函数

访问 http://127.0.0.1:5000/

可以看到能够显示调试模式的报错信息。

使用类的方式配置参数(推荐)

可以通过类来区分开发环境、测试环境、预发布环境、线上环境的配置。

  • 首先在刚才创建的settings.py中设置好配置类
class BaseConfig():
    """通用基础配置"""
    MEDIA_ROOT = "/static/media"

class TestConfig(BaseConfig):
    """测试环境配置"""
    DEBUG = True
    DB = '127.0.0.1'

class DevConfig(BaseConfig):
    """开发环境配置"""
    DEBUG = True
    DB = '192.168.1.1'

class PreProConfig(BaseConfig):
    """预发布环境配置"""
    DEBUG = False
    DB = '47.18.1.10'

class ProConfig(BaseConfig):
    """生产环境配置"""
    DEBUG = False
    DB = '47.18.1.1'
  • 设置使用测试环境配置
# 加载配置
from settings import TestConfig
app.config.from_object(TestConfig)

如果不同的环境,则可以使用不同的类进行加载即可。

使用config作为字典的方式直接设置配置参数

# 直接使用字典的方式配置参数
app.config['DEBUG'] = True

以上就是常用的三种参数配置的方式,下面来看看如何读取参数。

读取配置参数的方法

app.config.get() 

或者

from flask import current_app
current_app.config.get()

current_app主要用在其他模块,因为app是用在这个启动的主要模块上,到其他模块就没法引用了。 此时其他模块可以使用current_app来使用。

使用app.config.get() 读取参数

访问该视图函数:http://127.0.0.1:5000/

使用current_app.config.get()读取参数

current_app.config.get('MEDIA_ROOT')
版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

上一篇:day3 下一篇:kvm内存虚拟化
热门文章
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
标签列表