概述
一、介绍和安装
Flask-Script的作用是可以通过命令行的形式来操作Flask。例如通过命令跑一个开发版本的服务器、设置数据库,定时任务等。要使用Flask-Script,可以通过`pip install flask-script`安装最新版本。
二、基本使用步骤:
第一步:创建manage.py文件
第二步:在manage.py中搭建基本框架
from flask_script import Manager
from flask_learn import app
manager = Manager(app)
manager.run()
if __name__ == '__main__':
manager.run()
三、命令的添加方式
1. 使用`manage.commad`:这个方法是用来添加那些不需要传递参数的命令。示例代码如下:
from flask_script import Manager
from flask_learn import app
manager = Manager(app)
@manager.command
def greet():
print('你好')
执行代码:
2. `使用manage.option`:这个方法是用来添加那些需要传递参数的命令。有几个参数就需要写几个`option`。示例代码如下:
@manager.option("-u","--username",dest="username")
@manager.option("-e","--email",dest="email")
def add_user(username,email):
print("你输入的用户名:%s 邮箱:%s"%(username,email))
执行代码
案例:如何添加超级管理员呢?
第一步:在config中配置数据库
# Author:北京
# QQ:838262020
# time:2021/1/9
# 配件信息
DEBUG = True
# 修改代码后自动重新加载
TEMPLATES_AUTO_RELOAD=True
# 数据库配置
HOSTNAME = '127.0.0.1'
PORT = 3306
DATABASE = 'test_flask_learn'
USERNAME = 'root'
PASSWORD ='123456'
#dialect+driver://username:password@host:port/database
DB_URI = "mysql+pymysql://{username}:{password}@{host}:{port}/"
"{db}?charset=utf8".format(username=USERNAME,password=PASSWORD,host=HOSTNAME,port=PORT,db=DATABASE)
#SQLALCHEMY_DATABASE_URI是定死的,只能这么写
SQLALCHEMY_DATABASE_URI = DB_URI
SQLALCHEMY_TRACK_MODIFICATIONS = False
第二步:创建数据模型和配置数据库:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import config
app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)
class BackendUser(db.Model):
__tablename__ = 'backend_user'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
username = db.Column(db.String(50), nullable=False)
password = db.Column(db.String(50), nullable=False)
db.create_all()
@app.route('/')
def hello_world():
return 'Hello World'
if __name__ == '__main__':
app.run()
第三步:在mange.py中创建超级管理员并保存到数据库中
from flask_script import Manager
from flask_learn import app,BackendUser,db
from db_script import db_manager
manager = Manager(app)
@manager.option("-u","--username",dest="username")
@manager.option("-p","--password",dest="password")
def add_user(username,password):
user=BackendUser(username=username,password=password)
db.session.add(user)
db.session.commit()
if __name__ == '__main__':
manager.run()
第四步:在终端输入 python manage.py add_user -u bj -p 123456 创建超级管理员
3. 如果有一些命令是针对某个功能的。比如有一堆命令是针对ORM与表映射的,那么可以将这些命令单独放在一个文件中方便管理。也是使用`Manager`的对象来添加。然后到主manage文件中,通过`manager.add_command`来添加。示例代码如下
第一步:在db_script.py中搭建基本创建
from flask_script import Manager
db_manager =Manager()
@db_manager.command
def init():
print("迁移仓库创建完成")
@db_manager.command
def revision():
print("迁移脚本生成成功")
@db_manager.command
def upgrade():
print("脚本映射到数据库成功")
第二步:将 db_script导入manage.py文件中,其中
manager.add_command("db",db_manager) 运行db_manager中的函数,在db下的子脚本运行。
执行代码:
最后
以上就是冷艳大门为你收集整理的35、flask--Flask-Script使用详细的全部内容,希望文章能够帮你解决35、flask--Flask-Script使用详细所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复