python的flask框架難學嗎

2022-09-27 06:33:14 字數 2411 閱讀 5224

flask框架難學嗎?它和django哪個更容易一些,這可能是學python web開發的同學經常問的問題,下面來說一下flask框架。

flask是python的web框架,最大的特徵是輕便,讓開發者自由靈活的相容要開發的feature。

為什麼要從flask開始學習web框架?

1.python語言的靈活性給予了flask同樣的特徵;

2.無論是使用者畫像還是產品推薦,python相比其他語言都有極大的優勢;

3.flask輕便,容易上手,試錯成本低。

所以,從搭建乙個輕便的部落格出發,既要容易上手實現,又要能夠在後期擴充套件使用者畫像和產品推薦,我選擇flask作為web框架。

flask上手前提少,能夠極大幫助初學者快速理解web開發,這也是我喜歡flask的原因。

(1)物件導向程式設計(object-oriented programming, oop)

相信絕大多數人都接觸過oop,比如使用j**a, python, go等。在flask中,涉及基礎oop的概念,包括物件、類、繼承、封裝等。

(2)python基礎

flask中涉及簡單python概念,包括模組、包、裝飾器、模組等。

(3)命令列基礎

大部分的開發都繞不開命令列,flask同樣要求基礎命令列操作,例如上傳伺服器、查詢檔案、修改配置檔案等。

(4)資料庫基礎

web開發會產生資料管理的問題,雖然可以使用非資料庫的方式搭建靜態網頁,但從長遠來看將,掌握一門基礎的資料庫工具是很有必要的。比如結構化資料庫mysql, postgresql,非結構化的mongodb, redis等。

(5)前端基礎

雖然搭建**主要是後台邏輯編寫,但今天越來越多的人在意前台展現,因此flask除了後台python語言的要求外,還要求掌握基礎的html, j**ascript, css。

(6)版本控制(增強)

版本控制是所有程式開發的基礎,了解基礎的版本控制可以大大提高開發的效率。掌握基礎的git技能會提高flask**開發速度。

安裝使用virtualenv或者python3.3以上的pyvenv建立虛擬環境來配置開發環境。

可以通過pip方便的配置flask:

$ pip install flask

初始化(initialization)

(1)建立flask例項物件

flask程式必須建立乙個程式例項,常用方法:

from flask import flask

app = flask(__name__)

這裡的app就是乙個程式例項,客戶端(一般是瀏覽器)將請求傳送給服務端web伺服器,web伺服器再把請求發給flask例項。

(2)構建例項物件從url到p程式設計客棧ython函式的對映關係

程式例項需要知道所有url對應的執行**,所以要有從url到python函式的對映關係。處理url到python函式對映關係的程式一般叫做路由(router)。

flask實現中一般通過python裝飾器來實現,例如:

@app.route('/')

def index():    

return ''

上面的程式從程式化例項app開始,構建了根目錄'/'的路由,具體實現的程式是index()函式,返回了一段html**'test'字串。

路由所對應的程式稱為檢視函式(view function),即上面的index()函式

(3)啟動伺服器

程式例項用run方法來啟動伺服器,例如:

if __name__ == '__main__':

app.run(debug=true, port=8777)

上面的程式是常見套路,當前python檔案被執行的時候,執行flask例項化物件的run方法,啟動伺服器,同時上面程式設定了兩個常用引數:debug為true,埠是8777,避免和其他應用的埠衝突。

(4)請求上下文

flask使用上下文把一些檢視函式的物件變成全域性可訪問,共有4中模式:

模板業務邏輯和表現邏輯分開,才能開發出易維護的**,表現邏輯往往放在模板中。

flask的模板預設在根目錄的templates中,例如:

from flask import flask, render_templatefrom datetime import datetime

app = flask(__name__)@app.route('/')def index(name):

return render_template('index.html', name=name)    

if __name__ == '__main__程式設計客棧':

app.run(debug=true, port=8777)

index.html頁面可以獨立出來專門處理**的表現邏輯,例如:

main

flask預設使用jinjia2進行模板渲染,可以用一些控制語句,例如上面的if else判斷。

Python之Flask框架使用

flask和django bottle號稱python中的強大又簡單的web框架。flask是乙個使用python編寫的輕量級web應用框架。基於werkzeug wsgi工具箱和jinja2 模板引擎。flask使用bsd授權。flask也被稱為 microframework 因為它使用簡單的核心...

Python之Flask框架一

flask是乙個使用 python 編寫的輕量級 web 應用框架。輕巧頁就意味著他比較簡潔,不過見到的mtv框架還是有的,mvc 但是最重要的還是他的可擴充套件性很強,對比與django框架呢,他的靈活度就很高了,可以自己一些設計 框架。from flask importflask,request...

Python的Flask框架入門 Ubuntu

全文請見tuts code an introduction to python s flask framework flask是python乙個小而強大的web框架。學起來簡單,用起來也容易,能夠幫你在很短的時間內建立web應用。這篇文章中,我們會建立乙個簡單的web應用,包含兩個靜態頁面和少許動態...