Flask之Flask Script 擴充套件

2022-09-09 05:00:17 字數 3349 閱讀 4378

這個模組的作用可以讓我們通過終端來控制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...