1.自定义命令
2.多app应用
3.wtforms认证
4.sqlalchemy介绍
5.scoped_session
6.单表操作
7.一对多关系
8.多对多关系
9.flask-sqlalche
一.自定义命令
用于实现类似于django中python3 manage.py runserver ....类似的命令
首先导入flask-script
# 第一步先安装:pip3 install flask-script # 执行方式:python install flask-script.py runserver from flask import Flask from flask_script import Manager app = Flask(__name__) manager=Manager(app) @app.route("/") def index(): return "ok" # 自定义命令 @manager.command def custom(arg,a): """ 如果在传一个参数,就打印2个 第一种自定义命令的方式 python manage.py custom 123 :param arg: :return: """ print(arg,a) @manager.option('-n', '--name', dest='name') @manager.option('-u', '--url', dest='url') def cmd(name, url): """ 注意:这个装饰器要对应着函数里面的参数,有几个装饰器就要对应的有几个参数 第二种自定义命令的方式(-n也可以写成--name) 执行: python manage.py cmd -n lqz -u http://www.oldboyedu.com 执行: python manage.py cmd --name lqz --url http://www.oldboyedu.com :param name: :param url: :return: """ print(name, url) if __name__ == '__main__': manager.run()
二.多app应用
from werkzeug.wsgi import DispatcherMiddleware from werkzeug.serving import run_simple from flask import Flask app1 = Flask('app01') app2 = Flask('app02') ''' 有2个app url路径是一样的,如何可以区别他们2个, 可以在一个app下面配置一个 dm = DispatcherMiddleware(app1, { '/sec12': app2, }) 指定一下,在访问app2时前面加上一个sec12就可以了, 访问app1时就照常访问 ''' @app1.route('/index') def index(): return "app01" @app2.route('/index') def index2(): return "app2" dm = DispatcherMiddleware(app1, { '/sec12': app2, }) if __name__ == "__main__": run_simple('localhost', 5000, dm)
三.wtforms(表单验证)
首先第一步需要安装:pip3 install wtforms
四.sqlalchemy介绍
五.scoped_session
六.单表操作
七.一对多关系
八.多对多关系
九.flask-sqlalche