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

Ubuntu双系统引导修复实战:boot-repair工具详解

本文详细介绍了使用boot-repair工具修复Ubuntu双系统引导丢失问题的实战方法。当GRUB引导菜单因安装新系统或更新而损坏时,通过制作Ubuntu启动盘进入Live环境,安装并运行boot-repair,可一键完成系统修复引导,自动化执行GRUB重装与配置,解决无法进入Windows或Ubuntu的常见故障。

weixin_29224589的博客 357

flask_应用配置

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

weixin_30553837的博客 160

如何设计QR反激变换器

摘要:本文分析了基于GaN技术的PD适配器市场现状,重点探讨了准谐振反激变换器(QR Flyback)的工作原理及设计方法。文章首先介绍了反激变换器的三种工作模式(CCM、DCM、CRM/QR)及其特点,指出QR模式通过谷底开通技术能显著降低开关损耗。随后以65W适配器为例,详细阐述了变压器参数设计流程,包括匝比确定、原边电感计算和绕组匝数设计等关键步骤。文章强调QR反激变换器凭借高效率、小体积和低成本优势,已成为20W-65W PD适配器的主流拓扑方案,配合GaN技术进一步提升了功率密度和便携性。

m0_62868254的博客 1496

手把手解决GD32H759I-EVAL以太网通信三大坑:IP冲突、端口绑定失败、LWIP内存泄漏

本文针对GD32H759I-EVAL开发板在以太网通信调试中常见的三大难题——IP地址冲突、端口绑定失败和LWIP内存泄漏,提供了详细的实战排障指南。文章深入分析了问题根源,并给出了具体的网络配置、端口管理策略和内存泄漏检测方法,帮助开发者快速定位并解决嵌入式网络通信中的棘手问题,确保系统稳定运行。

weixin_29196315的博客 141

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

Replay音频转换时samplerate缺失的解决方案指南

Replay音频转换时提示"No module named 'samplerate' This error is lazily reported, having originally occured in File"的解决方案

weixin_47445543的博客 2133

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

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

Flask Web 1046

R语言的下载、安装及环境配置(Rstudio&VSCode)

R for Windows是一个免费的用于统计计算和统计制图的优秀工具,是R语言开发工具。它拥有数据存储和处理系统、数组运算工具(其向量、矩阵运算方面功能尤其强大)、完整连贯的统计分析工具、优秀的统计制图等功能。提供的图形界面,可以在其中访问控制台、创建脚本或安装其他软件包。

zegeai的博客 2万+

一。CST 电路 微带低通滤波器设计练习 I

CST 电路和系统软件功能还是比较强的,我们一起一步一步学习,一起进步。 这个例子出现在CST的电路和系统软件功能(Circuit Simulation & SAM (System Assembly and Modeling) )介绍资料中。本文是用CST2021建模操作仿真到,不同版本在视觉和结果上稍有不同。 利用电路模块可以很快很准确地建立3D微带平面电路,用于仿真滤波器、功分器、巴伦等等。

麦克斯韦信徒的博客 3237

如何为 Flask Web 应用配置 Nginx

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

wuyy0224的博客 2442

图形推理2-四大类六提示

图形推理笔记2

小y的学习笔记 6745

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

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

词语大杂烩 513

Spring AI 项目实战(十八):Spring Boot + AI + Vue3 + OSS + DashScope 实现高效语音识别系统(附完整源码)

本文介绍基于 Spring Boot AI 集成阿里云 OSS 与 DashScope 语音识别 API 的高效语音识别系统。该系统通过云端存储音频文件,解决传统本地存储的性能瓶颈与存储压力,支持同步 / 异步语音转文本,实现文件自动生命周期管理。文中详述技术选型、架构设计、核心代码实现(含前后端及配置)、部署流程,展现其高并发处理、可靠文件管理能力,适用于客服、教育等企业级场景,为语音识别应用提供实用解决方案。

博客 1537

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

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

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

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

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

qq_41260313的博客 766

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

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、付费专栏及课程。

余额充值