flask-script的功能:
1.增加了一个 runserver的命令,可以自定制 域名 和 端口
python manage.py runserver -h 127.0.0.1 -p 8001
2.可以自定义命令,是位置 传参数。
@manager.command def create_table(arg): ''' 自定义的命令 :param arg: :return: ''' print(arg)
调用的命令:
python manage.py create_table 1
3.自定义命令,是关键字 传参数。
@manager.option('-n','--name',dest='name') @manager.option('-u','--url',dest='url') def cmd(name,url): print(name,url)
调用的命令:
python manage.py cmd -n 1 -u 2
from crm import create_app from flask_script import Manager app = create_app() manager = Manager(app) @manager.command def create_table(arg): ''' 自定义的命令 :param arg: :return: ''' # from crm import db, create_app # # app = create_app() # app_ctx = app.app_context() # # with app_ctx: # # with 对象 的时候就会自动的触发类的__enter__ 方法,然后执行下面的代码,最后执行__exit__ # # # __enter__是将app_ctx通过;LocalStack放入Local中, # # db.create_all() # 会调用LocalStack 从Local中获取app,然后再从app中获取配置。 print(arg) # __exit__ 是将当前的app_ctx对象从Local中移除掉 @manager.option('-n','--name',dest='name') @manager.option('-u','--url',dest='url') def cmd(name,url): print(name,url) if __name__ == "__main__": # app.run() manager.run()