創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
創(chuàng)新互聯(lián)建站主要為客戶提供服務(wù)項目涵蓋了網(wǎng)頁視覺設(shè)計、VI標(biāo)志設(shè)計、營銷型網(wǎng)站建設(shè)、網(wǎng)站程序開發(fā)、HTML5響應(yīng)式重慶網(wǎng)站建設(shè)公司、手機網(wǎng)站制作設(shè)計、微商城、網(wǎng)站托管及成都網(wǎng)站維護、WEB系統(tǒng)開發(fā)、域名注冊、國內(nèi)外服務(wù)器租用、視頻、平面設(shè)計、SEO優(yōu)化排名。設(shè)計、前端、后端三個建站步驟的完善服務(wù)體系。一人跟蹤測試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為鑿毛機行業(yè)客戶提供了網(wǎng)站推廣服務(wù)。小編給大家分享一下為什么要從Flask開始學(xué)習(xí)web框架,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
Flask框架難學(xué)嗎?它和Django哪個更容易一些,這可能是學(xué)Python web開發(fā)的同學(xué)經(jīng)常問的問題,下面來說一下flask框架。
Flask是python的web框架,大的特征是輕便,讓開發(fā)者自由靈活的兼容要開發(fā)的feature。
為什么要從Flask開始學(xué)習(xí)web框架?
1.python語言的靈活性給予了Flask同樣的特征;
2.無論是用戶畫像還是產(chǎn)品推薦,python相比其他語言都有極大的優(yōu)勢;
3.Flask輕便,容易上手,試錯成本低。
所以,從搭建一個輕便的博客出發(fā),既要容易上手實現(xiàn),又要能夠在后期擴展用戶畫像和產(chǎn)品推薦,我選擇Flask作為web框架。
Flask上手前提少,能夠極大幫助初學(xué)者快速理解web開發(fā),這也是我喜歡Flask的原因。
(1)面向?qū)ο缶幊?Object-Oriented Programming, OOP)
相信絕大多數(shù)人都接觸過OOP,比如使用Java, Python, Go等。在Flask中,涉及基礎(chǔ)OOP的概念,包括對象、類、繼承、封裝等。
(2)python基礎(chǔ)
Flask中涉及簡單python概念,包括模塊、包、裝飾器、模塊等。
(3)命令行基礎(chǔ)
大部分的開發(fā)都繞不開命令行,F(xiàn)lask同樣要求基礎(chǔ)命令行操作,例如上傳服務(wù)器、查詢文件、修改配置文件等。
(4)數(shù)據(jù)庫基礎(chǔ)
web開發(fā)會產(chǎn)生數(shù)據(jù)管理的問題,雖然可以使用非數(shù)據(jù)庫的方式搭建靜態(tài)網(wǎng)頁,但從長遠來看將,掌握一門基礎(chǔ)的數(shù)據(jù)庫工具是很有必要的。比如結(jié)構(gòu)化數(shù)據(jù)庫Mysql, Postgresql,非結(jié)構(gòu)化的MongoDB, Redis等。
(5)前端基礎(chǔ)
雖然搭建網(wǎng)站主要是后臺邏輯編寫,但今天越來越多的人在意前臺展現(xiàn),因此Flask除了后臺python語言的要求外,還要求掌握基礎(chǔ)的html, JavaScript, CSS。
(6)版本控制(增強)
版本控制是所有程序開發(fā)的基礎(chǔ),了解基礎(chǔ)的版本控制可以大大提高開發(fā)的效率。掌握基礎(chǔ)的git技能會提高Flask網(wǎng)站開發(fā)速度。
安裝
使用virtualenv或者python3.3以上的pyvenv建立虛擬環(huán)境來配置開發(fā)環(huán)境。
可以通過pip方便的配置flask:
$ pip install flask
初始化(Initialization)
(1)創(chuàng)建flask實例對象
flask程序必須創(chuàng)建一個程序?qū)嵗?,常用方法?/p>
from flask import Flask app = Flask(__name__)
這里的app就是一個程序?qū)嵗蛻舳耍ㄒ话闶菫g覽器)將請求發(fā)送給服務(wù)端Web服務(wù)器,Web服務(wù)器再把請求發(fā)給Flask實例。
(2)構(gòu)建實例對象從URL到python函數(shù)的映射關(guān)系
程序?qū)嵗枰浪蠻RL對應(yīng)的執(zhí)行代碼,所以要有從URL到python函數(shù)的映射關(guān)系。處理URL到python函數(shù)映射關(guān)系的程序一般叫做路由(Router)。
Flask實現(xiàn)中一般通過python裝飾器來實現(xiàn),例如:
@app.route('/') def index(): return '<h2>test</h2>'
上面的程序從程序化實例app開始,構(gòu)建了根目錄'/'的路由,具體實現(xiàn)的程序是index()函數(shù),返回了一段html代碼'test'字符串。
路由所對應(yīng)的程序稱為視圖函數(shù)(view function),即上面的index()函數(shù)。
(3)啟動服務(wù)器
程序?qū)嵗胷un方法來啟動服務(wù)器,例如:
if __name__ == '__main__': app.run(debug=True, port=8777)
上面的程序是常見套路,當(dāng)前python文件被執(zhí)行的時候,運行flask實例化對象的run方法,啟動服務(wù)器,同時上面程序設(shè)定了兩個常用參數(shù):debug為True,端口是8777,避免和其他應(yīng)用的端口沖突。
(4)請求上下文
Flask使用上下文把一些視圖函數(shù)的對象變成全局可訪問,共有4中模式:
模板
業(yè)務(wù)邏輯和表現(xiàn)邏輯分開,才能開發(fā)出易維護的網(wǎng)站,表現(xiàn)邏輯往往放在模板中。
Flask的模板默認在根目錄的templates中,例如:
from flask import Flask, render_templatefrom datetime import datetime app = Flask(__name__)@app.route('/<name>')def index(name): return render_template('index.html', name=name) if __name__ == '__main__': app.run(debug=True, port=8777)
index.html頁面可以獨立出來專門處理網(wǎng)站的表現(xiàn)邏輯,例如:
{% block title %}Main{% endblock %} {% block page_content %} <div class="page-header"> <h2>Hello World!</h2> <h3>Hello, {% if name %}{{ name }} {% else %}Stranger{% endif %}! </h3> </div> {% endblock %}
Flask默認使用Jinjia2進行模板渲染,可以用一些控制語句,例如上面的if else判斷。
看完了這篇文章,相信你對為什么要從Flask開始學(xué)習(xí)web框架有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!
文章名稱:為什么要從Flask開始學(xué)習(xí)web框架-創(chuàng)新互聯(lián)
文章URL:http://jinyejixie.com/article14/egsde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、標(biāo)簽優(yōu)化、動態(tài)網(wǎng)站、網(wǎng)站收錄、用戶體驗、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容