web開發框架Flask學習二

2022-02-17 10:43:02 字數 2111 閱讀 9129

jinja2模板規範

在當前專案中建立乙個檔案為templates的資料夾,將其設定為模板資料夾,新建的html為模板頁面,

在檢視函式中使用render_template(".html的檔案", my_list=mylist),my_list作為在模板頁面使用的的變數 }

過濾器 符號 "|" 管道左邊作為輸入傳乙個變數到管道右邊進行輸出

safe 對字串的html標籤的**進行解析,並以html顯示在當前檔案

reverse 翻轉

upper 大寫

lower 小寫等

自定義過濾器(本身相當於乙個函式)

def add_after(value):

value += "hello world"

result = "¥" + value + "&&"

return result

模板中的for和if

loop.index # 獲取下標為0的資料

loop。index0 # 獲取下標為1的資料

# 獲取下標索引為0的資料

}alert(})}}

}模板**的復用

巨集// 這裡填想要封裝的html**

匯入到其他模組中使用

該模板中含有func_macro函式

繼承匯入模板檔案

// 繼承基類中的html**

// 以下**是進行挖坑和填坑的操作

// 自己獨有的**塊

包含include()

ignore missing // 忽略錯誤的

模板中特有的變數和函式

在py檔案中和模板檔案中都可以直接拿來使用,不需要傳參

request

session

gconfig

url_for()

get_flashed_messages() 與 flash搭配使用

**如下:

def login():

g.name = "xiaoming"

session["username"] = "zhangsan"

flash("哈哈哈")

flash("嘻嘻嘻")

flash("呵呵呵")

return render_template("demo_unique.html")

html模板中的內容為:

config:

} session:

}request:

}g變數:

} 兩個函式為:

回到首頁

flash結果為:

}flask_wtf表單

pip install flask_wtf

原生的form表單和用類生成的物件,再用物件去建立這個表單

web 表單是 web 應用程式的基本功能

它是html頁面中負責資料採集的部件,表單有三個部分組成:表單標籤、表單域、表單按鈕,

表單允許使用者輸入資料,負責html頁面資料採集,通過表單將使用者輸入的資料提交給伺服器

csrf 跨站請求偽造

flask_wtf中有個generate_csrf 會自動生成csrf

csrf全拼為cross site request forgery,譯為跨站請求偽造

csrf攻擊

csrf指攻擊者盜用了你的身份,以你的名義傳送惡意請求

包括:以你名義傳送郵件,發訊息,盜取你的賬號,甚至於購買商品,虛擬貨幣轉賬......

造成的問題:個人隱私洩露以及財產安全

開啟csrf驗證

防止csrf攻擊

在客戶端向後端請求介面資料的時候,後端會往響應中的 cookie 中設定 csrf_token 的值在 form 表單中新增乙個隱藏的的字段,值也是 csrf_token,

在form表單中設定csrf

在使用者點選提交的時候,會帶上這兩個值向後台發起請求

後端接受到請求,以會以下幾件事件:

從 cookie中取出 csrf_token從表單資料中取出來隱藏的 csrf_token 的值進行對比如果比較之後兩值一樣,那麼代表是正常的請求,

如果沒取到或者比較不一樣,代表不是正常的請求,不執行下一步操作

Flask框架Web開發

web誕生最初得目的,是為了利用網際網路交流工作文件。下圖為http得乙個通訊過程 描述 瀏覽器發出http請求,首先發給伺服器,web應用程式執行在web伺服器上。web應用程式核心做得兩件事是 1.根據請求,處理業務邏輯 2.根據請求結果把資料組織好變成響應結果,將響應結果返回出去 使用web框...

Web 框架 Flask 入門

flask 是乙個使用 python編寫的輕量級 web 應用框架,只提供了web 框架的核心功能,相較於其它的框架來說更加靈活,自由,更加適合開發高度定製化的專案。其 wsgi 工具箱採用 werkzeug,模板引擎則使用 jinja2,flask 使用 bsd 授權 安裝 flask pip i...

(二)flask框架使用教程系列 理解web

url是 uniform resource locator 的簡寫,統一資源定位符。乙個 url 由一下幾部分組成 scheme host port path query string anchor 2.1 如果使用的是http 協議,那麼瀏覽器就會使用80埠去請求這個伺服器的資源,例如 2.2如果...