flask-script的功能:
1.增長了一個 runserver的命令,能夠自定製 域名 和 端口
python manage.py runserver -h 127.0.0.1 -p 8001python
2.能夠自定義命令,是位置 傳參數。flask
@manager.command def create_table(arg): ''' 自定義的命令 :param arg: :return: ''' print(arg)
調用的命令:
python manage.py create_table 1app
3.自定義命令,是關鍵字 傳參數。url
@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 2spa
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()