Flask-Script
可以用命令行的方式操作Flask, 相当于 python manage.py
# 安装
pip install Flask-Script
# 映射数据库 (manage.py)
from flask_script import Manager
from flask_sqlclchemy_demo import app # flask_sqlclchemy_demo 模型主文件
manage = Manager(app)
@manage.command
def index():
print(""hello)
# 带参数的命令映射
@manage.option('-n','--name',dest='name')
@manage.option('-n','--url',dest='url')
def hello(name,url):
print("hello",name,url)
# 后台创建管理员
# 数据库 + 模型中已经映射好关系
@manage.option('-n','--name',dest='name')
@manage.option('-n','--email',dest='email')
def add_user(name,email):
user = AdminUser(name = name,email = email)
db.session.add(user)
db.session.commit()
if __name__ == '__main__':
manage.run()
# 命令行中运行 index方法
python manage.py index
# 带参数的命令映射
python manage.py hello -n lcl -u www.baidu.com
Flask- Migrate
数据库的映射
# 安装
pip install flask-migrate
from flask_script import Manager
from flask_migrate import Migrate,MigrateCommand
# 导入 db
from exts import db
# 导入 app
from flask_app import app
# 导入需要映射的 模型(model) 只需要,不断的导入即可
from models import User
manage = Manger(app)
Migrate(app,db)
manage.add_command("db",MigrateCommand)
if __name__ == '__main__':
manage.run()
# 命令行命令 - 第一次时使用
python manage.py db init # 初始化
python manage.py db migrate # 内容映射到文件中
python manage.py db upgrade # 映射到数据库中