flask-应用配置

配置Flask-CLI以便与Flask应用程序一起使用 在main.py中添加自定义命令。# main.py""""""")# 注册应用app.run() 阅读详情

1.从文件中加载

main.py文件

from datetime import timedelta

from flask import Flask

app = Flask(__name__)
# 设置config类,父类继承dict
# app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(days=7)

# 从文件中加载配置,缺点是代码冗余
app.config.from_pyfile('config.py')


@app.route('/')
def index():
    return 'index'


if __name__ == '__main__':
    app.run(debug=True)

config.py文件

from datetime import timedelta

# 定义和配置的同名的全局变量
PERMANENT_SESSION_LIFETIME = timedelta(days=7)

优点

配置单独封装起来, 方便统一管理

缺点

如果有多套配置, 则复⽤性较差

2.从对象中加载

优点

面向对象的形式, 可以定义子类来继承公共配置和实现子类个性化的配置
main.py文件

from flask import Flask

app = Flask(__name__)


# 从对象中加载配置
from config import DevelopmentConfig
app.config.from_object(DevelopmentConfig)


@app.route('/')
def index():
    print(app.config.get('PERMANENT_SESSION_LIFETIME'))
    print(app.config.get('SQL_URL'))
    return 'index'


if __name__ == '__main__':
    app.run(debug=True)

config.py文件

from datetime import timedelta


class BaseConfig:  # 相同的配置放入基类中,不同的配置子类重写
    PERMANENT_SESSION_LIFETIME = timedelta(days=7)


class DevelopmentConfig(BaseConfig):
    '''开发环境的变量'''
    SQL_URL = 'mysql://127.0.0.1/infodb'


class ProductingConfig(BaseConfig):
    '''生产环境的变量'''
    SQL_URL = 'mysql://192.168.243.133/infodb'


class TestingConfig(BaseConfig):
    '''测试环境的变量'''
    SQL_URL = 'mysql://43.168.243.166/infodb'

封装工厂函数&动态创建应用

启动命令:
export FLASK_APP="main:create_app('dev')"
flask run -h 127.0.0.1 -p 5000

main.py文件

from flask import Flask, current_app
from config import config_dict


def index():
    print(current_app.config.get('PERMANENT_SESSION_LIFETIME'))
    print(current_app.config.get('SQL_URL'))
    return 'index'


# 定义工厂函数:将对象的创建过程封装起来,根据需求创建对象
def create_app(config_type):
    # 创建flask应用和加载配置
    app = Flask(__name__)
    # 根据配置类型取出配置子类
    config_class = config_dict[config_type]
    app.config.from_object(config_class)
    # 添加路由
    app.add_url_rule('/', endpoint=index.__name__, view_func=index)
    return app

config.py文件

from datetime import timedelta


class BaseConfig:  # 相同的配置放入基类中,不同的配置子类重写
    PERMANENT_SESSION_LIFETIME = timedelta(days=7)


class DevelopmentConfig(BaseConfig):
    '''开发环境的变量'''
    SQL_URL = 'mysql://127.0.0.1/infodb'


class ProductingConfig(BaseConfig):
    '''生产环境的变量'''
    SQL_URL = 'mysql://192.168.243.133/infodb'


class TestingConfig(BaseConfig):
    '''测试环境的变量'''
    SQL_URL = 'mysql://43.168.243.166/infodb'


config_dict = {
    'dev': DevelopmentConfig,
    'pro': ProductingConfig,
    'test': TestingConfig
}

缺点

不⽅便设置⾃定义的配置(代码被git管理, ⼀旦修改为⾃定义配置, 团队其他成员还需要改回来)
重要配置容易泄露(代码被团队共享, 且需要传到git服务器上)

3.从环境变量中加载

# 从环境中加载变量, 设置silent=True, 及时未找到文件也不会报错
app.config.from_envvar('ENV_CONFIG', silent=True)

先从对象中加载默认配置, 再 通过环境变量重载⾃定义配置和隐私配置
silent=True, 找不到该环境变量也不报错

启动命令:
export ENV_CONFIG=文件绝对路径/config.py
flask run -h 127.0.0.1 -p 5000
如何为子域名配置 Nginx 反向代理到 Flask 应用 在这篇博客中,我将介绍如何为你的域名添加子域名,并使用 Nginx 反向代理将子域名请求转发到 Flask 应用。我们将以子域名为例,并通过 Nginx 将请求转发到 Flask 应用的 5000 端口。 阅读详情

相关推荐

如何在 Windows 防火墙中配置 Python Flask 应用的公开访问

然而,Windows 防火墙可能会阻止对你的应用程序的访问,因此你需要配置防火墙以允许传入的连接。通过按照以上步骤在 Windows 防火墙中创建新的入站规则,你可以配置你的 Python Flask 应用程序以允许公开访问。现在,你需要创建一个新的入站规则,以允许传入的连接到你的 Flask 应用程序的端口。如果你想从其他计算机上的浏览器访问你的 Flask 应用程序,请使用你的计算机的 IP 地址替换。选择“特定本地端口”,并输入你的 Flask 应用程序的端口号(例如:5000)。

NfsVerilog的博客 1063

(学习flask) 01 基本结构

配置conda虚拟环境 conda create -n flasky python==3.6 activate flasky pip install -r requirements.txt requirements.txt alembic==0.9.3 bleach==2.0.0 blinker==1.4 click==6.7 dominate==2.3.1 Flask==0.12.2 Flask-Bootstrap==3.3.7.1 Flask-HTTPAuth==3.2.3 Flask-Login==

akswyh的博客 221

优化Python Flask应用程序的配置管理

在上面的示例中,我们定义了一个基本的Config类,其中包含了一些通用的配置选项。然后,我们定义了一个load_config()函数,该函数根据应用程序的环境变量(app.config[‘ENV’])来加载相应的配置。通过正确管理配置,您可以轻松地在不同环境中切换配置选项,例如开发、测试和生产环境。通过正确管理配置选项,您可以轻松地在不同环境中切换和管理您的Python Flask应用程序。最后,您可以运行您的Flask应用程序并测试配置是否正确加载。这样,您的应用程序将使用生产环境的配置。

RfqrScheme的博客 138

Flask项目中的蓝图简介及使用方式(二十三)

参考文档:https://blog.csdn.net/qq_38648652/article/details/103833707 1、蓝图的基本使用 main.py代码 from flask import Flask from goods import app_goods #循环引用,解决方法,推迟一方的导入,让例外一方完成 app = Flask(__name__) #注册蓝图(注册goo...

小龙龙品牌的博客 367

阿里云上Flask应用部署:Nginx+uWSGI配置及问题解决

Flask 是一个广泛使用的轻量级 Web 应用框架,它设计简洁,易于上手,适合快速开发小型应用程序。以下是关于 Flask 框架的一些基础知识点,为后续章节的深入探讨和部署实践提供铺垫。Nginx(发音为 “engine x”)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯程序员Igor Sysoev开发。Nginx以其高性能、稳定性、丰富的功能集和简单的配置而闻名,已成为众多高流量网站不可或缺的组成部分。

weixin_33608403的博客 1210

Flask应用配置与用户登录表单的实现

本文深入探讨了Flask应用的配置方式,包括使用app.config字典、外部配置文件以及类来管理配置变量。同时,文章还介绍了如何使用Flask-WTF扩展创建用户登录表单,并将其与HTML模板结合,最终通过视图函数在浏览器中渲染。

weixin_42393362的博客 468

FLASK服务器配置

Flask 是一个轻量级的 Web 应用框架,非常适合快速开发小型到中型的应用程序。需要下载下面的。

qq_61726551的博客 1666

深入浅出ISP:用RKISP2.x Tuner工具理解AWB、AE、HDR等核心模块的实战调参

本文深入解析RKISP2.x Tuner工具在ISP图像处理中的实战应用,重点探讨AWB、AE、HDR等核心模块的调参技巧。通过环境搭建、调试工具使用和实际案例,帮助开发者掌握如何在不同光照条件下优化图像质量,实现精准的白平衡、曝光控制和动态范围处理。

weixin_26802933的博客 487

flask_应用配置

从⽂文件中加载 优点 配置单独封装起来, ⽅方便便统⼀一管理理 缺点 如果有多套配置, 则复⽤用性较差 从对象中加载 优点 ⾯面向对象的形式, 可以定义⼦子类来继承公共配置和实现⼦子类个性化的配置 封装⼯工⼚厂函数&动态创建应⽤用 缺点 - 不方便设置⾃自定义的配置(代码被git管理理, ⼀一旦修改为⾃自定义配置, 团队其他成员还需要改 回来) - 重要配置...

weixin_30553837的博客 160

从零到一:Qt与PCL的跨平台开发环境搭建全攻略

本文详细介绍了从零开始搭建Qt与PCL跨平台开发环境的完整流程,涵盖Windows、Linux和macOS三大平台。重点解析了Qt5与Qt6版本选择、PCL库安装配置、VTK集成等关键技术要点,并提供跨平台CMake项目模板和常见问题解决方案,助力开发者快速构建三维点云处理应用。

weixin_29280657的博客 384

金属粘结剂喷射3D打印技术:工艺流程与后处理关键

金属粘结剂喷射(Binder Jetting)是一种创新的增材制造技术,通过逐层喷射粘合剂将金属粉末粘结成型,再经过脱脂和烧结等后处理工序获得最终零件。这项技术的核心优势在于无需支撑结构、可实现批量生产,并且材料利用率高。在3D打印领域,金属BJ技术特别适合中小尺寸、结构复杂且表面质量要求高的零件生产。其工艺流程包括前期数据处理、打印生胚阶段、拆包与清粉,以及关键的渗透、脱脂和烧结后处理环节。后处理工艺的控制直接决定了零件的机械性能和尺寸精度,其中烧结工艺尤为关键,需要精确控制温度曲线和气氛环境。金属BJ打

weixin_35751194的博客 84

Flask框架中应用配置的一些处理方案

Flask框架中应用配置的一些处理方案 1.加载配置 app.config 用于设置配置, 该属性继承自 dict, 可以以字典形式赋值取值 例: from datetime import timedelta from flask import Flask, session app = Flask(__name__) app.secret_key = 'test' # config属性用于设置配置 app.config['PERMANENT_SESSION_LIFETIME'] = timedelt

li944254211的博客 426

EGO_Plannerv2代码学习(一):栅格建图之V1 V2的区别

最近在尝试将高飞老师的集群规划器部署到真实无人机上跑一下,开这个新帖记录下学习过程中的问题和想法。

qq_41069236的博客 5753

如何正确配置Flask的应用环境

正确配置Flask的应用环境是开发Flask Web应用的重要步骤。

Flask Web 1046

蓝牙开发那些事之ceva controller代码解读

对比ceva的经典蓝牙和ble的controller在软件上的差异点

袁赟的博客 1090

矢量网络分析仪校准:原理、方法与系统适配性

矢量网络分析仪(VNA)校准是射频测量的关键环节,通过误差建模(12项误差项)和标准件测量,可将系统不确定度从±5dB降至±0.1dB以下。主流校准方法包括SOLT(适用于同轴系统)和TRL(适用于波导系统),二者在标准件、误差重点及频率上限等方面存在显著差异。随着6G与量子通信的发展,动态实时校准将成为新趋势。工程师需根据传输结构、频率范围及精度需求选择合适方法,确保测量精度。

u014344410的博客 262

如何为 Flask Web 应用配置 Nginx

在本文中,我将介绍什么是nginx

wuyy0224的博客 2442

在鸿蒙中使用AVPlayer完成视频的播放【坚果派】

播放的全流程包含:创建AVPlayer,设置播放资源和窗口,设置播放参数(音量/倍速/缩放模式),播放控制(播放/暂停/跳转/停止),重置,销毁资源。5.准备播放:调用prepare(),AVPlayer进入prepared状态,此时可以获取duration,设置缩放模式、音量等。8.退出播放:调用release()销毁实例,AVPlayer进入released状态,退出播放。6.视频播控:播放play(),暂停pause(),跳转seek(),停止stop() 等操作。今天我们来看一下视频如何正常播放。

坚果的博客 4057

Flask01 初识flask、创建flask应用、flask启动配置

1 什么是flask   Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。   百度百科:点击前往   中文文档:点击前往   2 利用pip安装flask模块   2.1 前提     安装好python、配置好环境变量   2.2 查看python版

词语大杂烩 513

HTML粉色爱心(完整代码)

HTML语言实现粉色爱心的完整代码。

AIGC 1105

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

flask应用中取得config的配置

from flask import current_app config = current_app.config SITE_DOMAIN = config.get('SITE_DOMAIN') 转载于:https://www.cnblogs.com/wuxie1989/p/5710839.html

weixin_33682790的博客 486

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

从零开始使用Flask构建简单Web应用:环境配置与示例代码

Flask是Python的一个轻量级Web框架,适用于构建快速的Web应用程序。它的核心设计理念是简单和扩展性强,非常适合入门Web开发的学习。通过这篇文章,你已经成功创建了一个简单的Flask应用并了解了环境配置、HTML模板和API接口的基本用法。

qq_41260313的博客 766

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Flask日志配置:专业的“应用日记”系统

本文介绍了Flask日志系统的配置与最佳实践。通过咖啡馆营业日志的类比,说明了日志在问题诊断、性能监控、审计追踪和行为分析中的作用。文章详细展示了从基础配置到进阶方案(文件日志、控制台美化输出、JSON结构化日志)的实现方法,并提供了请求日志中间件和业务逻辑日志的实用示例。总结了日志级别的选择、敏感信息处理、结构化日志和环境差异化配置等最佳实践,推荐使用单独的配置文件进行集中式管理。良好的日志系统能有效监控应用健康状况,快速定位问题并满足合规要求。

leohu0723的博客 631
上一篇: functools.wraps使用
下一篇: flask-restful使用
倚风听夜雨
博客等级 码龄7年 0粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值