flask框架預備知識
1.web預備知識
2.flask介紹
3.web框架的本質及分類
4.flask安裝與基本設置
1.web預備知識
HTTP協議:https://www.cnblogs.com/wyb666/p/9383077.html
關於web的本質:http://www.cnblogs.com/wyb666/p/9034042.html
如何自定義web框架:http://www.cnblogs.com/wyb666/p/9038644.html
了解cookie和session:https://www.cnblogs.com/wyb666/p/9068853.html
2.flask介紹
(1)flask介紹
Python的WEB框架有Django、Tornado、Flask 等多種
flask是一個基於python的,微型web框架。之所以被稱為微型是因為其核心非常簡單,同時具有很強的擴展能力。它幾乎不給使用者做任何技術決定。
安裝flask時應該註意其必須的幾個支持包比如Jinja2,Werkzeug等。如果使用easy_install或者pip這樣的安裝工具的話那麽就不必擔心這麽多了。另外flask還有一些可選的輔助模塊,使用它們可以讓程序更加簡潔易懂,比如SQLAlchemy用於數據庫的連接和操作,flask-WTForm用於網頁上表單的設計
(2)MVC
MVC是眾所周知的模式,即:將應用程序分解成三個組成部分:model(模型),view(視圖),和 controller(控制 器)。其中:
- M——管理應用程序的狀態(通常存儲到數據庫中),並約束改變狀態的行為(或者叫做“業務規則”)
- C——接受外部用戶的操作,根據操作訪問模型獲取數據,並調用“視圖”顯示這些數據。控制器是將“模型”和“視圖”隔離,並成為二者之間的聯系紐帶
- V——負責把數據格式化後呈現給用戶
(3)flask的優點
- 極大的定制與擴展靈活
- ORM、模板等海量第三方擴展
- Flask比Django更加Pythonic,與Python的philosophy更加吻合
(4)flask的組件
- flask-sqlalchemy -> ORM
- flask-script -> 為在Flask裏編寫額外的腳本提供了支持
- flask-migrate -> 為Flask應用處理SQLAlchemy數據庫遷移的擴展,使得可以通過Flask的命令行接口或者Flask-Scripts對數據庫進行操作
- flask-bootstrap -> 是包含了Bootstrap框架的擴展,安裝Flask-Bootstrap之後,就可以在程序中集成Bootstrap
- flask-moment -> 本地化時間和日期
- flask-wtf -> 簡化表單處理、防跨站請求偽造(CSRF)攻擊
- 、、、
3.web框架的本質及分類
(1)web框架的本質:socket服務端 與 瀏覽器的通信
(2)socket服務端功能劃分
- 負責與瀏覽器收發消息(socket通信) --> wsgiref/uWsgi/gunicorn...
- 根據用戶訪問不同的路徑執行不同的函數
- 從HTML讀取出內容,並且完成字符串的替換 --> jinja2(模板語言)
(3)Python中 Web框架的分類
按上面三個功能劃分:
- 框架自帶a,b,c --> Tornado
- 框架自帶b和c,使用第三方的a --> Django
- 框架自帶b,使用第三方的a和c --> Flask
按另一個維度來劃分:
- Django --> 大而全(你做一個網站能用到的它都有)
- 其他 --> Flask 輕量級
4.flask安裝與基本設置
(1)flask安裝
1 pip3 install flask
(2)創建flask項目
(3)設置flask項目
flask框架預備知識