像SpringBoot一样使用Flask (文末有源码)

Flask是一个Python的轻量级Web应用框架,类似于Spring Boot的快速开发和简化配置的特性。下面是一些使用Flask构建Web应用的步骤:

    1、安装Flask:在命令行中执行pip install flask来安装Flask库。

    创建一个Flask应用:创建一个Python文件,并导入Flask库。

from flask import Flask

app = Flask(__name__)

2、定义路由和视图函数:在应用中定义路由,指定HTTP请求方法,并编写相应的视图函数。


@app.route('/')
def index():
    return 'Hello, Flask!'

    3、运行Flask应用:在应用中添加如下代码,使其在运行时启动Flask开发服务器。


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

那么Springboot里面的拦截器、统一日志输出,还有统一异常处理呢。

4、环境配置

class BaseConfig():
    LOCAL_ENV = "pro"
    """通用基础配置"""
    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'




import os

from flask import Flask

from config.config import *
from logging.config import dictConfig



# 通过配置选择开发环境还是正式环境
def create_app():
    # create and configure the app
    app = Flask(__name__)

    app.config.from_object(BaseConfig)
    localEnv = str(app.config.get('LOCAL_ENV'))
    # 正式环境配置
    if localEnv == "pro":
        app.config.from_object(ProConfig)
    # 测试环境配置
    if localEnv == "dev":
        app.config.from_object(DevConfig)


    # 蓝图视图 类似spring注入
    from apps import MyError , Success
    from demo.restfull.RestfulDemo import RestfulDemobp
    app.register_blueprint(MyError.bp)
    app.register_blueprint(Success.bp)
    # restful整合蓝图
    app.register_blueprint(RestfulDemobp)
    return app

5、统一日志配置

import json
class JsonResponse(object):
    """
    统一的json返回格式
    """

    def __init__(self, data, code, msg):
        self.data = data
        self.code = code
        self.msg = msg

    @classmethod
    def success(cls, data=None, code=0, msg='success'):
        return cls(data, code, msg)

    @classmethod
    def error(cls, data=None, code=-1, msg='error'):
        return cls(data, code, msg)

    def to_dict(self):
        return {
            "code": self.code,
            "msg": self.msg,
            "data": self.data
        }

    def to_json(self):
        return json.dumps(self , default= lambda obj: obj.__dict__ ,sort_keys=True ,indent=4)

更多内容关注我吧~ 

关注公众号发送“flask”获取源码哦~  
  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值