Python Flask框架@manager.option的使用
- 在python中使用Flask框架开发项目时,会用到Flask_script扩展包来管理程序,可以使其在终端中使用指令操作程序。
- manager的作用:在终端可以使用指令来操作程序
- option装饰后的作用:可以传递参数
- 使用场景:创建一些敏感数据(如后台管理员),批量添加测试数据等等...
- 终端中操作指令 : python 文件名 方法名 -option xxx -option xxxxx
如下案例,在终端操作指令 --> python manage create_super_user -n admin -p 123456
# 创建管理员 --manager的作用: 是在终端使用命令, option的作用:装饰的之后,可以传递参数
@manager.option('-n', '--name', dest='username')
@manager.option('-p', '--password', dest='password')
def create_super_user(username, password):
"""创建管理员用户"""
# 创建用户对象,添加属性
admin = User()
admin.nick_name = username
admin.password = password
admin.mobile = username
admin.is_admin = True
# 保存到数据库中
try:
db.session.add(admin)
db.session.commit()
except Exception as e:
current_app.logger.error(e)
db.session.rollback()
return '保存管理员用户失败'
# 返回响应值
return '管理员账号创建成功'
-----END-----