flask-scropt外掛程式:為在flask裡編寫額外的指令碼提供了支援。這包括執行乙個開發伺服器,乙個定製的python命令列,用於執行初始化資料庫、定時任務和其他屬於web應用之外的命令列任務的指令碼。
1.安裝
$ pip install flask-script2.建立並執行命令列
第一步需要建立乙個可以執行你指令碼命令的python模組。你可以隨意命名它。我這裡就以manage.py為例。
在manage.py檔案中,需要先建立乙個manager例項。manager類會跟蹤所有的命令和命令列呼叫的引數:
from flask_script import manager建立自定義命令的三種方式:if __name__ == "__main__":
manager.run()
(1) 定義command類的子類
為了簡單,我們就建立乙個hello命令來輸出「hello world」:
from flask_script import command接下來需要把命令新增到mannager例項:class hello(command):
"prints hello world"
def run(self):
print "hello world"
manager.add_command('hello', hello())
from flask_script import完整**如下manager,command
from flask import
flask
)class
hello(command):
"prints hello world
"def
run(self):
print("
hello world")
manager.add_command(
'hello
', hello())
if__name__ == "
__main__":
manager.run()
在命令列執行如下命令:(2)使用@command裝飾器(1)python manage.py hello
hello world
(2)python manage.py
usage: manage.py [-?] ...
positional arguments:
hello prints hello world
optional arguments:
-?, --help show this help message and
exit
也可以通過把包含command例項的字典作為manager.run()的引數:
manager.run()
對於簡單的命令,我們可以使用屬於manager例項的@command裝飾器
@manager.command其使用方法和前面一樣。def hello():
"just say hello"
print("hello")
(3)使用@option裝飾器
如何需要通過命令列進行比較複雜的控制,可以使用manager例項的@option裝飾器。
@manager.option('-n', '--name', help='your name')def hello(name):
print("hello", name)
Flask擴充套件 Flask Migrate用法
引用官方文件的話,flask migrate是使用alembic遷移flask應用程式的sqlalchemy資料庫的擴充套件,可以通過flask命令列或者flask script擴充套件對資料庫進行操作。該擴充套件主要用於遷移資料庫。傳統操作flask資料庫一般使用sqlalchemy,表的初始化使...
Flask的請求擴充套件
from flask import flask,requestbefore request 用法def func print request 可以在請求來前對於request進行處理 如有有返回值且有after request相關函式他的返回值會接著執行after request相關函式 如果有多個...
flask之請求擴充套件
可以多個請求之前的函式 執行順序是誰在前面誰先執行 如果前面的before request有返回值,後面的都不會執行 基於它做使用者登入認證 def process request args,kwargs if request.path login return none user session....