您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)flask的組成有哪些,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
Flask介紹:
Flask是一種使用Python編寫的輕量級(jí)的Web框架, WSGI工具采用Werkzeug,模板引擎使用Jinja2, Flask使用的是BSD授權(quán),
Flask核心簡單, 可以自定義擴(kuò)展, 沒有固定的數(shù)據(jù)庫和模板等設(shè)置, 簡單輕便,
Flask也有web開發(fā)'微'框架之稱。
開始項(xiàng)目
下面是官網(wǎng)中的一個(gè)Flask項(xiàng)目, 只需要簡單的7行代碼, 我們就是可以讓一個(gè)Flask項(xiàng)目運(yùn)行起來
Flask由于框架體量小, 所有的拓展包都需要我們自己去安裝, 所以一個(gè)Flask項(xiàng)目會(huì)安裝很多的拓展包是很常見的
最簡單的一個(gè)Flask項(xiàng)目
from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'hello' if __name__ == '__main__': main()
拆分
基于項(xiàng)目的可拓展性和代碼的可閱讀性, 當(dāng)代碼量較大時(shí), 將所有的代碼寫在一個(gè)文件中是一件很可怕的事, 所以我們就要對(duì)其進(jìn)行拆分, 主要還是參考 MVC模式進(jìn)行, 將不同的功能放在其對(duì)應(yīng)的模塊中, 方便我們進(jìn)行閱讀
將主要的執(zhí)行內(nèi)容寫在執(zhí)行文件manage.py中, 引入 Manage 進(jìn)行管理app
創(chuàng)建app的文件目錄, 將views 和 models 寫入其中進(jìn)行管理
創(chuàng)建 static 目錄,存放靜態(tài)文件
創(chuàng)建 templates 目錄, 存放網(wǎng)頁模板
創(chuàng)建utils 目錄, 管理工具函數(shù)
Manger管理app
from flask_script import Manager from utils.functions import create_app app = create_app() manage = Manager(app=app) if __name__ == '__main__': manage.run()
views定義路由和控制器
需要藍(lán)圖
blueprint
from flask import Blueprint user_buleprint = Blueprint('user', __name__) # 'user'在重定向時(shí)使用 @user_blueprint.route('/') # 設(shè)置路由, 訪問的url def index(): return render_template('index.html') # 返回渲染的模板頁面 # 帶參數(shù)返回 @user_blueprint.route('/') def index(): content = '' return render_template('index.html', content=content)
注冊藍(lán)圖
utils.functions.py
from flask import Flask def create_app(): app = Flask(__name__) # 注冊藍(lán)圖, 設(shè)置url 前綴, 相當(dāng)于 django中的 namespace app.register_blueprint(blueprint=user_buleprint, url_prefix='/user') return app
視圖函數(shù)
路由
@app.route('/')
客戶端發(fā)送請(qǐng)求給服務(wù)器(瀏覽器到服務(wù)器), 進(jìn)而請(qǐng)求傳遞到Flask的應(yīng)用實(shí)例,應(yīng)用實(shí)例需要知道對(duì)于各個(gè)URL請(qǐng)求需要執(zhí)行哪部分代碼, 所以它給Python函數(shù)建立了一個(gè)URLs映射, 這種在URL和函數(shù)之間建立聯(lián)系的操作稱之為路由
route規(guī)則
在@app.route('/<int:name>')
string 字符串 默認(rèn)
int 整形
float 浮點(diǎn)型
path 路徑
uuid uuid字符串
any 任何,無限制。
關(guān)于flask的組成有哪些就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。