Flask 01 基本組成, 專案拆分

2021-08-20 22:21:22 字數 2564 閱讀 1913

本文主要介紹如何開始乙個flask專案, 以及更具flask的豐富的拓展包, 來拆分專案, 讓乙個flask專案滿足基本的mvc架構, 下面就開始進入正文.

flask介紹:

開始專案

最簡單的乙個flask專案

from

flask

import

flask

​​defhello():

return

'hello'

​if__name__ == '__main__':

main()

拆分基於專案的可拓展性和**的可閱讀性, 當**量較大時, 將所有的**寫在乙個檔案中是一件很可怕的事, 所以我們就要對其進行拆分, 主要還是參考 mvc模式進行, 將不同的功能放在其對應的模組中, 方便我們進行閱讀

建立 static 目錄,存放靜態檔案

建立 templates 目錄, 存放網頁模板

建立utils 目錄, 管理工具函式

from

flask_script

import

manager

​from

utils.functions

import

​​if__name__ == '__main__':

manage.run()

views定義路由和控制器
from

flask

import

blueprint

​user_buleprint = blueprint('user', __name__) # 'user'在重定向時使用

​@user_blueprint.route('/')  # 設定路由, 訪問的url

defindex():

return

render_template('index.html')  # 返回渲染的模板頁面

​# 帶引數返回

@user_blueprint.route('/')

defindex():

content = ''

return

render_template('index.html', content=content)

註冊藍圖
from

flask

import

flask

​def

# 註冊藍圖, 設定url 字首, 相當於 django中的 namespace

return

設定靜態檔案目錄和模板目錄

def

​base_dir = os.path.dirname(os.path.dirname(__file__))

static_dir = os.path.join(base_dir, 'static')

templates_dir = os.path.join(base_dir, 'templates')

​static_folder=static_dir,

template_folder=templates_dir)

return

檢視函式

路由route規則

對同乙個模板,通過url中傳遞的引數型別不同來執行不同的檢視函式進行渲染

from

flask

import

render_template, request, blueprint

​​blue = blueprint('first', __name__)​​

@blue.route('/hello/')

defhello():

return

render_template('hello.html')​​

@blue.route('/hello//', methods=['post', "get"])

defhello_name(name):

ifrequest.method == 'get':

return

render_template('hello.html', name=name)​​

@blue.route('/hello//')

deffloat(float):

return

render_template('hello.html', float=float)​​

@blue.route('/hello//')

deffloat1(int):

return

render_template('hello.html', int=int)​​

@blue.route('/hello//')

defshow(path):

return

render_template('hello.html', path=path)​​

@blue.route('/hello//')

defuuid1(uuid):

return

render_template('hello.html', uuid=uuid)

​​

methods 請求的方法

01計算機基本組成

cpu的內部整合了一些指令集,所有軟體的執行都需要cpu中的這些指令集來完成。根據指令集的不同,cpu被分為兩類 含有精簡指令集的cpu和含有複雜指令集的cpu。1.才有精簡指令集的cpu 精簡指令集 reduced instruction set computing,risc 採用精簡指令集的cp...

01資料結構的基本組成

線性結構作為最常用的資料結構,其特點是資料元素之間存在一對一的線性關係 線性結構有兩種不同的儲存結構,即順序儲存結構 如陣列 和鏈式儲存結構 如鍊表 順序儲存的線性 表稱為順序表,順序表中的儲存元素是連續的 指的是位址連續 鏈式儲存的線性表稱為鍊錶,鍊錶中的儲存元素不一定是連續的 指的是位址不一定連...

server基本組成

字串操作封裝,如 數字字串轉換 分隔符拆分 等常用操作 string handle 網路基礎資料結構,如 ip數字轉換 獲取網域名稱 物件池封裝 位儲存 bit map 序列化反序列化buffer octets,能夠支援寫時拷貝以及壓縮功能 阻塞佇列 block queue ring buffer ...