1. 框架優點:
Flask屬于微框架(micro-framework)這一類別,微架構通常是很小的不依賴外部庫的框架。
框架很輕量
更新時依賴小
專注于安全方面的bug
2. 依賴
Flask的依賴
Werkzeug:一個WSGI工具包(web服務網關接口(Python Web Server Gateway Interface,縮寫為WSGI)是為python語言定義的web服務器和web應用程序或框架之間的一種簡單而通用的接口,其他語言也有類似的接口)
jinja2:模板引擎
3. Django和Flask有什么區別
Flask
輕量級web框架,默認依賴兩個外部庫:jinja2和Werkzeug WSGI工具
適用于做小型網站以及web服務的API,開發大型網站無壓力,但架構需要自己設計
與關系型數據庫的結合不弱于Django,而與非關系型數據庫的結合遠遠優于Django
Django
重量級web框架,功能齊全,提供一站式解決的思路,能讓開發者不用在選擇上花費大量時間。
自帶ORM(Object-Relational Mapping 對象關系映射)和模板引擎,支持jinja等非官方模板引擎。
自帶ORM使Django和關系型數據庫耦合度高,如果要使用非關系型數據庫,需要使用第三方庫
自帶數據庫管理app
成熟,穩定,開發效率高,相對于Flask,Django的整體封閉性比較好,適合做企業級網站的開發。
python web框架的先驅,第三方庫豐富
4. Flask-WTF是什么,有什么特點
Flask-wtf是一個用于表單處理,校驗并提供csrf驗證的功能的擴展庫
Flask-wtf能保證表單免受CSRF<跨站請求偽造>的攻擊
5. python中的數據庫連接有兩種方式
在腳本中用第三方庫正常連接,用sql語句正常操作數據庫,如mysql關系型數據庫的pymsql庫。
用ORM來進行數據庫連接,flask中典型的flask_sqlalchemy,以面向對象的方式進行數據庫的連接與操作。
6. 什么是wsgi
WSGI(Web Server Gateway Interface,Web 服務器網關接口)是Python語言中所定義的Web服務器和Web應用程序之間或框架之間的通用接口標準。
WSGI就是一座橋梁,橋梁的一端稱為服務端或網關端,另一端稱為應用端或者框架端,WSGI的作用就是在協議之間進行轉化。WSGI將Web組件分成了三類:Web 服務器(WSGI Server)、Web中間件(WSGI Middleware)與Web應用程序(WSGI Application)。
Web Server接收HTTP請求,封裝一系列環境變量,按照WSGI接口標準調用注冊的WSGI Application,最后將響應返回給客戶端。
7. Flask框架依賴組件
Route(路由)
templates(模板)
Models(orm模型)
blueprint(藍圖)
Jinja2模板引擎
8. Flask藍圖的作用
將不同的功能模塊化
構建大型應用
優化項目結構
增強可讀性,易于維護(跟Django的view功能相似)
8. ORM的實現原理
一個持久化類和一個表對應,類的每個實例對應表中的一條記錄,類的每個屬性對應表的每個字段。
提高了開發效率。由于ORM可以自動對Entity對象與數據庫中的Table進行字段與屬性的映射,所以我們實際可能已經不需要一個專用的、龐大的數據訪問層。
ORM提供了對數據庫的映射,不用sql直接編碼,能夠像操作對象一樣從數據庫獲取數據。