flask_sqlalchemy

 基于蓝图完整的falsk项目

flask_script

安装: pip3 install flask_script

flask_script作用:

  -改变flask的启动方式:python manage.py runserver

  -自定义命令:               python   manage.py   自定义命令

示例:

manege.py

from flask_script import Manager
from flaskscript import create_app

app=create_app()
manager=Manager(app)

@manager.command      #执行命令  python manage.py  custom 123
def custom(arg):
    """
    自定义命令
    python manage.py custom 123
    :param arg:
    :return:
    """
    print(arg)


@manager.option('-n', '--name', dest='name')
@manager.option('-u', '--url', dest='url')
def cmd(name, url):
    """
    自定义命令
    执行: python manage.py  cmd -n wupeiqi -u http://www.oldboyedu.com
    :param name:
    :param url:
    :return:
    """
    print(name, url)

if __name__=="__main__":
    manager.run()

flask_sqlalchemy

安装:pip3 install flask_sqlalchemy

作用:将SQLAlchemy相关的所有功能都封装到db=flask_sqlalchemy.SQLAlchemy()对象中
     - 创建表
       class User(db.Model):
          pass
        
     - 操作表
         db.session 

flask_mrigrate

        作用:做数据库迁移
        依赖:
            flask-script 
            flask-sqlalchemy 
        

        Migrate(app, db)
        """
        # 数据库迁移命令
            python manage.py db init
            python manage.py db migrate # makemigrations
            python manage.py db upgrade # migrate
        """
        manager.add_command('db', MigrateCommand)

完整flask项目

下载项目文件

离线脚本

Web运行时:启动flask项目,用户通过浏览器访问

离线脚本:   自己写的py文件,使用flask中定义好的组件(wtforms,数据库),不用启动flask项目

详细见falsk项目

多app应用

#对url进行处理和分发

from flask import Flask
from werkzeug.wsgi import DispatcherMiddleware
from werkzeug.serving import run_simple

app01 = Flask('app01')
app02 = Flask('app02')


@app01.route('/login')
def login():
    return 'app01.login'


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

# 访问"login"--->"http://localhost:5000/login"
# 访问"index"--->"http://localhost:5000/app02/index"
dm = DispatcherMiddleware(app01, {
    '/app02': app02,
})

if __name__ == '__main__':
    run_simple('localhost', 5000, dm)
View Code
原文地址:https://www.cnblogs.com/caochao-/p/8992941.html