這個模組的作用可以讓我們通過終端來控制flask專案的執行
安裝命令:
pip install flask-script -i
整合 flask-script到flask應用中,建立乙個主應用程式,一般我們叫manage.py/run.py/main.py
都行。
from flask import flas
from flask_script import manager
"""使用flask_script啟動專案"""
def index():
return 'hello world'
if __name__ == "__main__":
manager.run()
啟動終端指令碼的命令:
# 埠和網域名稱不寫,預設為127.0.0.1:5000
python run.py runserver
# 通過-h設定啟動網域名稱,-p設定啟動埠 -d
python run.py runserver -h127.0.0.1 -p8888 # 關閉debug模式
python run.py runserver -h127.0.0.1 -p8888 -d # 開啟debug模式
flask-script 還可以為當前應用程式新增指令碼命令
引入command命令基類
建立命令類必須直接或間接繼承command,並在內部實現run方法或者__call__()
方法,
同時如果有自定義的其他引數,則必須實現get_options或者option_list
使用flask_script應用物件manage.add_command對命令類進行註冊,並設定呼叫終端別名。
from flask import flask
from flask_script import manager,command,option
"""使用flask_script啟動專案"""
"""自定義終端命令"""
class printcommand(command):
"""命令的相關描述: 列印資料"""
def get_options(self):
options = (
option('-h', '--host', dest='host', default="127.0.0.1"),
option('-q', '--quit', dest='quit', default="退出",type=str),
option('-p', '--port', dest='port', type=int, default="7000"),
)return options
# 也可以使用option_list來替代get_options
# option_list = (
# option('-h', '--host', dest='host', default="127.0.0.1"),
# option('-q', '--quit', dest='quit', default="退出",type=str),
# option('-p', '--port', dest='port', type=int, default="7000"),
# )print("測試命令")
print(f"self.host=")
print(f"self.port=")
print(f"self.quit=")
# print("測試命令")
練習:
1. 使用終端命令則可以在當前目錄下建立以下目錄和檔案
home/
|- vies.py
|- models.py
|- urls.py
|- test.py
|- __init__.py
import os
from flask import flask
from flask_script import manager, command, option
class create(command):
"""建立檔案"""
option_list = (
option("-n", "--name", dest="name", type=str),
)def run(self, name):
nod_list = ['vies.py', 'models.py', 'urls.py', 'test.py', '__init__.py'] # 檔案列表
path = os.getcwd() # 獲取當前工作目錄
os.chdir(path) # 切換到當前工作目錄
if os.path.exists(name): # 判斷檔案是否存在
print('當前檔案已存在')
return
os.makedirs(name) # 建立資料夾
new_path = os.path.join(os.getcwd(), name) # 拼接路徑
os.chdir(new_path) # 切換工作目錄
for nod in nod_list:
# os.mknod(nod) # 建立檔案(windows下os模組沒有mknod方法,可以使用open開啟檔案的方法)
# open(nod, 'w')
with open(nod, 'w') as f:
pass
manage.add_command("create", create)
if __name__ == '__main__':
manage.run()
# python run.py create -n[你要建立的資料夾名稱]
flask學習之加密策略,flask自帶
返回加密後密碼 property def password self return self.password hash 傳入密碼 password.setter def password self,value 對密碼簽名 self.password hash generate password h...
flask之session cookie摘抄筆記
摘抄自 cookie和session使用 一 儲存在服務端 通過cookie儲存乙個session id,然後具體的資料則是儲存在session中,如果使用者已經登入,則伺服器會在cookie中儲存乙個session id,下次再次請求的時候,會把該session id攜帶上來,伺服器根據sessi...
Flask之簡單呼叫Flask模組例項
flask之簡單呼叫flask模組例項from flask import flask 2.建立flask應用程式例項 需要傳入 name 作用是為了確定資源所在的路徑 3.定義路由及檢視函式 flask中定義路由是通過裝飾器實現的 路由預設只支援get請求,如果需要增加,自行指定methods me...