美文网首页
flask 工厂函数

flask 工厂函数

作者: SingleDiego | 来源:发表于2020-09-28 17:38 被阅读0次

使用工厂函数不会直接创建 app 实例这个全局变量,而是通过 create_app() 函数创建,再返回 app 对象。

演示一个项目使用工厂函数的例子,用上 flask_sqlalchemyflask_migrateflask_bootstrap 等扩展库。

文档结构:

/app
    __init__.py
    models.py
    routes.py
config.py
run.py
# __init__.py

from flask import Flask
from config import Config

from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from flask_bootstrap import Bootstrap


db = SQLAlchemy()
migrate = Migrate()
bootstrap = Bootstrap()

def create_app():
    app = Flask(__name__)
    # 加载配置文件
    app.config.from_object(Config)

    # 初始化各种扩展库
    db.init_app(app)
    migrate.init_app(app, db)
    bootstrap.init_app(app)

    # 引入蓝图并注册
    from app.routes import main_routes
    app.register_blueprint(main_routes)

    return app

from app import models

调用工厂函数创建 app

# run.py

from app import create_app, db
app = create_app()

因为不存在全局变量 app 了,所以 routes 里面的路由函数也不能直接注册成 @app.route('/') 这种形式,应当使用蓝图(Blueprint)来管理路由。

# routers.py

main_routes = Blueprint('main', __name__)

@main_routes .route('/index')
def index():
    …………

本文源码:https://github.com/SingleDiego/Flask-Application-Factories

相关文章

  • Flask 工厂函数

    讲Flask工厂函数之前,先看下这段代码: 从上面那段代码,我们可以看出create_app就是创建Flask实例...

  • Flask工厂函数

    Flask工厂函数 官网 我的目录结构 基本示例 config.py 定义工厂函数 settings.py 不同环...

  • flask 工厂函数

    使用工厂函数不会直接创建 app 实例这个全局变量,而是通过 create_app() 函数创建,再返回 app ...

  • flask-celery-redis学习第二步

    一般在正式环境下,Flask程序都是用工厂模式,而Flask在工厂模式下如何使用celery,查找了许多文章,最后...

  • Flask路由系统

    通常有3种定义路由函数的方法: 使用flask.Flask.route() 修饰器。 使用flask.Flask....

  • 第一个Flask程序

    Flask程序运行过程 所有Flask程序必须有一个程序实例。 Flask调用视图函数后,会将视图函数的返回值作为...

  • flask知识点

    flask: 新建项目使用: 新建Flask项目 导入Flask类 Flask函数接收一个参数name,它会指向程...

  • flask的路由、URL规则、静态文件、request、sess

    flask路由 application对象的add_url_rule()函数也可用于将URL与函数绑定 flask...

  • 构造函数和工厂函数

    区分工厂函数和构造函数。 工厂函数 构造函数 两者书写上的不同: 工厂函数创建了对象Object 工厂函数多了re...

  • 初识flask——项目拆分、运行、插件以及会话技术

    一、flask基本使用 安装flask 创建项目 添加路由规则和视图函数 启动项目 二、flask-script插...

网友评论

      本文标题:flask 工厂函数

      本文链接:https://www.haomeiwen.com/subject/tbkduktx.html