flask-script 應用
聲明:以下操作基於
https://blog.csdn.net/weixin_38507813/article/details/102640046
flask-sqlalchemy操作
- 安裝 flask-script
pip3 install flask-script
功能:
- a. 增加 runserver
# manage.py文件內
from chun import create_app
from flask_script import Manager
app = create_app()
manager = Manager(app)
if __name__ == '__main__':
# app.run()
manager.run()
在Terminal 輸入命令 python manage.py runserver -h IP -p Port
- b. 位置傳參
# manage.py文件內
from chun import create_app
from flask_script import Manager
app = create_app()
manager = Manager(app)
@manager.command
def custom(arg):
"""
自定義命令
python manage.py custom 123
:param arg:
:return:
"""
print(arg)
if __name__ == '__main__':
# app.run()
manager.run()
- c. 關鍵字傳參
# manage.py文件內
from chun import create_app
from flask_script import Manager
app = create_app()
manager = Manager(app)
@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__':
# app.run()
manager.run()
flask-migrate 應用
- 安裝
pip3 install flask-migrate
應用
# 基於 manage.py
# 依賴:flask-script 模塊
from sansa import create_app
from sansa import db
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
app = create_app()
manager = Manager(app)
Migrate(app, db)
"""
# 數據庫遷移命名
python manage.py db init
python manage.py db migrate
python manage.py db upgrade
"""
manager.add_command('db', MigrateCommand)
if __name__ == '__main__':
manager.run()
# app.run()
創建數據庫時,不需要單獨執行create_table.py文件
命令如下:
# 在terminal 命令窗口運行
python manage.py db init # 第一步:
python manage.py migrate # 第二步:
python manage.py upgratde # 第三步
命令執行後會有一個migrations
目錄,裏version
文件,內部會有所有提交過的數據庫版本