1. 程式人生 > >flask框架預備知識

flask框架預備知識

bootstra bootstrap 瀏覽器 alc 能力 corn phy 維度 pts

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框架預備知識