中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么學習python的flask框架

發布時間:2020-08-01 09:32:07 來源:億速云 閱讀:142 作者:小豬 欄目:開發技術

這篇文章主要講解了怎么學習python的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,比如使用Java, Python, Go等。在Flask中,涉及基礎OOP的概念,包括對象、類、繼承、封裝等。

(2)python基礎

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

(3)命令行基礎

大部分的開發都繞不開命令行,Flask同樣要求基礎命令行操作,例如上傳服務器、查詢文件、修改配置文件等。

(4)數據庫基礎

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

(5)前端基礎

雖然搭建網站主要是后臺邏輯編寫,但今天越來越多的人在意前臺展現,因此Flask除了后臺python語言的要求外,還要求掌握基礎的html, JavaScript, 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到python函數的映射關系
程序實例需要知道所有URL對應的執行代碼,所以要有從URL到python函數的映射關系。處理URL到python函數映射關系的程序一般叫做路由(Router)。
Flask實現中一般通過python裝飾器來實現,例如:

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

上面的程序從程序化實例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中模式:

怎么學習python的flask框架

模板

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

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頁面可以獨立出來專門處理網站的表現邏輯,例如:

{% 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判斷。

看完上述內容,是不是對怎么學習python的flask框架有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

红安县| 当雄县| 古蔺县| 平阳县| 满洲里市| 交城县| 木里| 丹巴县| 遂平县| 汽车| 郧西县| 墨脱县| 许昌市| 邢台县| 铜陵市| 剑川县| 东丰县| 绍兴县| 五华县| 沅陵县| 子洲县| 广汉市| 叙永县| 临桂县| 松江区| 丰镇市| 太湖县| 岳普湖县| 怀柔区| 林周县| 河池市| 六安市| 旌德县| 吉木萨尔县| 哈密市| 伽师县| 巴南区| 明星| 定南县| 青海省| 茌平县|