1. 程式人生 > >8---Flask-Script

8---Flask-Script

8、Flask-Script

 Flask-script的作用是可以通過命令列的形式操作flask。安裝方式:pip install flask-script

1.1.command裝飾器

(1)建立manage.py

from flask_script import Manager

from flask_scripts_demo import app

manager = Manager(app)

@manager.command      
#這個裝飾器把函式變成在終端可以執行的命令 def greet(): print('你好') if __name__ == '__main__': manager.run()

(2)執行命令

在cmd終端執行

python manage.py greet

# “你好”

 1.2.option裝飾器

manage.py

from flask_script import
Manager from flask_scripts_demo import app manager = Manager(app) @manager.command #這個裝飾器把函式變成在終端可以執行的命令 def greet(): print('你好') #如果函式需要傳遞引數就用option裝飾器 @manager.option("-u","--username",dest="username") #第一個引數是簡稱 @manager.option("-a","--age",dest="age") def add_user(username,age):
print("新增的使用者名稱是:%s,年齡是:%s"%(username,age)) if __name__ == '__main__': manager.run()

在cmd終端新增使用者

python manage.py add_user -u derek -a 18


#新增的使用者名稱是:derek,年齡是:18

1.3. 例項:模擬django通過命令新增超級管理員

flask-script_demo.py

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)
    email = db.Column(db.String(50),nullable=False)

db.create_all()

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

manage.py

from flask_script import Manager

from flask_scripts_demo import app
from flask_scripts_demo import BackendUser,db

manager = Manager(app)

@manager.option("-u","--username",dest="username")    
@manager.option("-e","--email",dest="email")
def add_user(username,email):
    user = BackendUser(username=username,email=email)
    db.session.add(user)
    db.session.commit()


if __name__ == '__main__':
    manager.run()

cmd終端新增使用者到資料庫

python manage.py add_user -u derek -e [email protected]

 

 

1.1.command裝飾器

 Flask-script的作用是可以通過命令列的形式操作flask。安裝方式:pip install flask-script

1.1.command裝飾器

(1)建立manage.py

from flask_script import Manager

from flask_scripts_demo import app

manager = Manager(app)

@manager.command      #這個裝飾器把函式變成在終端可以執行的命令
def greet():       
    print('你好')

if __name__ == '__main__':
    manager.run()

(2)執行命令

在cmd終端執行

python manage.py greet

# “你好”

 1.2.option裝飾器

manage.py

from flask_script import Manager

from flask_scripts_demo import app

manager = Manager(app)

@manager.command      #這個裝飾器把函式變成在終端可以執行的命令
def greet():
    print('你好')

#如果函式需要傳遞引數就用option裝飾器
@manager.option("-u","--username",dest="username")    #第一個引數是簡稱
@manager.option("-a","--age",dest="age")
def add_user(username,age):
    print("新增的使用者名稱是:%s,年齡是:%s"%(username,age))


if __name__ == '__main__':
    manager.run()

在cmd終端新增使用者

python manage.py add_user -u derek -a 18


#新增的使用者名稱是:derek,年齡是:18

1.3. 例項:模擬django通過命令新增超級管理員

flask-script_demo.py

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)
    email = db.Column(db.String(50),nullable=False)

db.create_all()

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

manage.py

from flask_script import Manager

from flask_scripts_demo import app
from flask_scripts_demo import BackendUser,db

manager = Manager(app)

@manager.option("-u","--username",dest="username")    
@manager.option("-e","--email",dest="email")
def add_user(username,email):
    user = BackendUser(username=username,email=email)
    db.session.add(user)
    db.session.commit()


if __name__ == '__main__':
    manager.run()

cmd終端新增使用者到資料庫

python manage.py add_user -u derek -e [email protected]