久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

為什么要從Flask開(kāi)始學(xué)習(xí)web框架

小編給大家分享一下為什么要從Flask開(kāi)始學(xué)習(xí)web框架,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的定興網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

Flask框架難學(xué)嗎?它和Django哪個(gè)更容易一些,這可能是學(xué)Python web開(kāi)發(fā)的同學(xué)經(jīng)常問(wèn)的問(wèn)題,下面來(lái)說(shuō)一下flask框架。

Flask是python的web框架,最大的特征是輕便,讓開(kāi)發(fā)者自由靈活的兼容要開(kāi)發(fā)的feature。

為什么要從Flask開(kāi)始學(xué)習(xí)web框架?

1.python語(yǔ)言的靈活性給予了Flask同樣的特征;

2.無(wú)論是用戶(hù)畫(huà)像還是產(chǎn)品推薦,python相比其他語(yǔ)言都有極大的優(yōu)勢(shì);

3.Flask輕便,容易上手,試錯(cuò)成本低。

所以,從搭建一個(gè)輕便的博客出發(fā),既要容易上手實(shí)現(xiàn),又要能夠在后期擴(kuò)展用戶(hù)畫(huà)像和產(chǎn)品推薦,我選擇Flask作為web框架。

Flask上手前提少,能夠極大幫助初學(xué)者快速理解web開(kāi)發(fā),這也是我喜歡Flask的原因。

(1)面向?qū)ο缶幊?Object-Oriented Programming, OOP)

相信絕大多數(shù)人都接觸過(guò)OOP,比如使用Java, Python, Go等。在Flask中,涉及基礎(chǔ)OOP的概念,包括對(duì)象、類(lèi)、繼承、封裝等。

(2)python基礎(chǔ)

Flask中涉及簡(jiǎn)單python概念,包括模塊、包、裝飾器、模塊等。

(3)命令行基礎(chǔ)

大部分的開(kāi)發(fā)都繞不開(kāi)命令行,F(xiàn)lask同樣要求基礎(chǔ)命令行操作,例如上傳服務(wù)器、查詢(xún)文件、修改配置文件等。

(4)數(shù)據(jù)庫(kù)基礎(chǔ)

web開(kāi)發(fā)會(huì)產(chǎn)生數(shù)據(jù)管理的問(wèn)題,雖然可以使用非數(shù)據(jù)庫(kù)的方式搭建靜態(tài)網(wǎng)頁(yè),但從長(zhǎng)遠(yuǎn)來(lái)看將,掌握一門(mén)基礎(chǔ)的數(shù)據(jù)庫(kù)工具是很有必要的。比如結(jié)構(gòu)化數(shù)據(jù)庫(kù)MySQL, Postgresql,非結(jié)構(gòu)化的MongoDB, redis等。

(5)前端基礎(chǔ)

雖然搭建網(wǎng)站主要是后臺(tái)邏輯編寫(xiě),但今天越來(lái)越多的人在意前臺(tái)展現(xiàn),因此Flask除了后臺(tái)python語(yǔ)言的要求外,還要求掌握基礎(chǔ)的html, JavaScript, CSS。

(6)版本控制(增強(qiáng))

版本控制是所有程序開(kāi)發(fā)的基礎(chǔ),了解基礎(chǔ)的版本控制可以大大提高開(kāi)發(fā)的效率。掌握基礎(chǔ)的git技能會(huì)提高Flask網(wǎng)站開(kāi)發(fā)速度。

安裝

使用virtualenv或者python3.3以上的pyvenv建立虛擬環(huán)境來(lái)配置開(kāi)發(fā)環(huán)境。
可以通過(guò)pip方便的配置flask:

$ pip install flask

初始化(Initialization)

(1)創(chuàng)建flask實(shí)例對(duì)象

flask程序必須創(chuàng)建一個(gè)程序?qū)嵗S梅椒ǎ?/p>

from flask import Flask
app = Flask(__name__)

這里的app就是一個(gè)程序?qū)嵗?,客?hù)端(一般是瀏覽器)將請(qǐng)求發(fā)送給服務(wù)端Web服務(wù)器,Web服務(wù)器再把請(qǐng)求發(fā)給Flask實(shí)例。
(2)構(gòu)建實(shí)例對(duì)象從URL到python函數(shù)的映射關(guān)系
程序?qū)嵗枰浪蠻RL對(duì)應(yīng)的執(zhí)行代碼,所以要有從URL到python函數(shù)的映射關(guān)系。處理URL到python函數(shù)映射關(guān)系的程序一般叫做路由(Router)。
Flask實(shí)現(xiàn)中一般通過(guò)python裝飾器來(lái)實(shí)現(xiàn),例如:

@app.route('/')
def index():    
    return '<h2>test</h2>'

上面的程序從程序化實(shí)例app開(kāi)始,構(gòu)建了根目錄'/'的路由,具體實(shí)現(xiàn)的程序是index()函數(shù),返回了一段html代碼'test'字符串。
路由所對(duì)應(yīng)的程序稱(chēng)為視圖函數(shù)(view function),即上面的index()函數(shù)。
(3)啟動(dòng)服務(wù)器
程序?qū)嵗胷un方法來(lái)啟動(dòng)服務(wù)器,例如:

if __name__ == '__main__':
    app.run(debug=True, port=8777)

上面的程序是常見(jiàn)套路,當(dāng)前python文件被執(zhí)行的時(shí)候,運(yùn)行flask實(shí)例化對(duì)象的run方法,啟動(dòng)服務(wù)器,同時(shí)上面程序設(shè)定了兩個(gè)常用參數(shù):debug為T(mén)rue,端口是8777,避免和其他應(yīng)用的端口沖突。
(4)請(qǐng)求上下文
Flask使用上下文把一些視圖函數(shù)的對(duì)象變成全局可訪問(wèn),共有4中模式:

為什么要從Flask開(kāi)始學(xué)習(xí)web框架

模板

業(yè)務(wù)邏輯和表現(xiàn)邏輯分開(kāi),才能開(kāi)發(fā)出易維護(hù)的網(wǎng)站,表現(xiàn)邏輯往往放在模板中。

Flask的模板默認(rèn)在根目錄的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頁(yè)面可以獨(dú)立出來(lái)專(zhuān)門(mén)處理網(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默認(rèn)使用Jinjia2進(jìn)行模板渲染,可以用一些控制語(yǔ)句,例如上面的if else判斷。

看完了這篇文章,相信你對(duì)為什么要從Flask開(kāi)始學(xué)習(xí)web框架有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

標(biāo)題名稱(chēng):為什么要從Flask開(kāi)始學(xué)習(xí)web框架
本文地址:http://sd-ha.com/article46/joschg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站維護(hù)、移動(dòng)網(wǎng)站建設(shè)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、面包屑導(dǎo)航、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司