怎樣徹底學習flask框架?怎樣學習順序比較合理?
1.web框架需要快速入門
web框架是一組工具的集合, 為你的web應用開發提供了基礎環境, 從如何獲取引數,到如何返回結果, 從如何獲取cookie到如何修改返回的http header。web框架幫你隱藏了http協議的細節, 你作為乙個使用者只需要關心如何實現功能,而不需要底層到底實現的是什麼。
2.web框架很多, 不同的語言都有自己實現的不同的web框架. 每一種都有各自不同的實現思路, 有不同的開發哲學, 不管是就換工作換開發棧的需要, 還是學習本身的需要, 快速的多掌握幾個框架還是很有必要的.
3.web框架的工作方式
現代的web框架,不管其採用何種設計思想, 開發哲學, 根本的工作模式是相似的,均是從接收http請求,處理http的各項引數,路由到相應的使用者實現的處理器上, 再獲取返回的結果, 生成http的response。
流程圖: blockchain
4.web框架的工作流程
url路由
一般來說現在大部分的web框架對於將http請求交給哪乙個邏輯來處理, 是由url路由框架的模組來決定的. url路由模組會提供一些函式或者裝飾器等方式, 讓使用者來寫一些**, 將url和控制器的繫結關係註冊到框架中. 大多數的框架都支援在url路由的定義中使用正規表示式.有的支援在url中定義引數,框架會自動在url中將引數擷取出來儲存在框架的上下文中以供控制器使用.
控制器 控制器是使用者自己實現的類或者函式, 用來處理http請求, 確切的說是指定url發來的請求, 並且將業務邏輯的結果返回給框架,有框架去決定如何解析成http的響應資料輸出.框架需要給控制器提供http請求的完整上下文環境,那麼我們在學習框架使用的時候, 首先就要在文件中整理清楚下面的這些問題:
如何獲取query string引數?
querystring是url中?後定義的由&符號分割的key=value形式的引數, 框架會在解析http協議的時候將這個部分的資料轉化成比如字典之類的資料結構存起來, 然後提供相應的api去訪問.但是querystring都是唯讀的, 有一些框架會提供一些工具幫助使用者組裝url, 比如flask提供了url_for用來組裝轉跳到指定控制器的url, 方便你在頁面上渲染相應的標籤
如何獲取form表單的資料? json?boby ?
如何讀取和修改cookie?
cookie是瀏覽器(客戶端)在多次請求之間共享資料的乙個資料結構, 因為http協議是無狀態的,所以cookie在每一次請求的時候都會從瀏覽器放到http請求中傳到服務端, 在服務端生成響應的時候也會寫入http響應裡傳回瀏覽器. 從而實現了在兩次請求之間共享了資料. web框架會提供對應的api去讀取和修改cookie的值, cookie是key-value形式的, 訪問的方式應該和字典類似.
如何獲取 headers ?
headers對應到http協議中http請求的頭部, 是乙個key-value形式的資料格式.headers是http請求的一些額外的描述資訊, 比如客戶端型別, 字元編碼方式, 認證資訊等. headers的key是固定的, 你不能自己隨便定義一些特殊key, 並且headers部分也是唯讀的.框架會提供對應api去讀取headers.
如何實現頁面轉跳 ?
有些時候在處理完資料後需要通知瀏覽器轉跳到對應的看資料的url上去, 就需要在文件裡找找如何實現頁面轉跳. 服務端返回給客戶端乙個http協議中的301或者302的狀態, 就可以讓瀏覽器去執行轉跳的動作, 作出這樣子的http響應在框架中會有對應的api.
如何輸出http響應 ?
流程圖如下:
5.web框架所需的開發環境
web框架的開發環境由其實現的語言來決定, 比如說python的pycharm 和 vscode 等 ide 整合環境。
6.web框架一些常用的配置檔案
配置web框架的一些引數,這需要直接看配置檔案或者自定義配置檔案
7.web框架所需要的模版引擎
前面在控制器的部分提到了模板引擎, 模板引擎主要負責用資料替換模板上的佔位符生成最終結果的文字. 工作方式可以簡化為下圖:
這裡詳細的說一下模板引擎部分在學習的時候要注意那一些要點:
佔位符如何定義
如何定義迴圈
如何定義判斷條件
如何對佔位符加過濾器
如何定義繼承模板
如何定義巢狀模板
8.web框架的中介軟體或者鉤子函式
9.統一的錯誤處理
框架是提供了統一錯誤處理機制的, 當在控制器中發生了沒有捕獲或者重新丟擲的異常的時候, 就會執行到統一錯誤處理的部分。
10.鑑權
通過cookie或者auth2.0和中介軟體可以很輕鬆的實現鑑權和session機制。
11.生產部署的方式
盡可能的做壓力測試, 以至於讓你的專案能夠正式的上線, 需要了解如何部署生產環境。
怎樣生成 jar檔案?
用法 jar vfm0m jar 檔案 manifest 檔案 c 目錄 檔名 選項 c 建立新的存檔 t 列出存檔內容的列表 x 展開存檔中的命名的 或所有的 檔案 u 更新已存在的存檔 v 生成詳細輸出到標準輸出上 f 指定存檔檔名 m 包含來自標明檔案的標明資訊 0 只儲存方式 未用zip壓縮...
怎樣用SQL 2000 生成XML
以前在介紹sql2k的時候已經提到了sql2k對xml的支援,使用for xml語句就可以很容易的把執行的結果轉化為乙個xml,這樣可以在很大程度上提高系統執行效率和開發速度,詳細的內容請參見books online。但是在使用ado required ado 2.6 訪問返回的xml的方式和原來的...
應該怎樣學習IT
對於我們學it行業的人來說,學習可不是那麼簡單的,學習沒有放鬆,沒有節假日 只要努力就會有結果 每當來到揚州曙光中心看到太陽公升起的時候,也就是說一天學習開始了 每當夜深人靜的時候,看到月亮高高掛在天空時,也就是說吃完夜宵繼續學習吧 接下來的日子還是如此過著,因為我已經不能再懶了 我覺得以下幾點對我...