中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

flask設置cookie的方法是什么

發布時間:2023-04-04 17:13:28 來源:億速云 閱讀:126 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“flask設置cookie的方法是什么”,內容詳細,步驟清晰,細節處理妥當,希望這篇“flask設置cookie的方法是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

1_cookie[掌握]

  • 解釋: 用來保持服務器和瀏覽器交互的狀態的, 由服務器設置,存儲在瀏覽器

  • 作用: 用來做廣告推送

  • cookie的設置和獲取

    • max_age: 表示cookie在瀏覽器的存儲時間,單位是秒

    • 設置cookie: response.set_cookie(key,value,max_age)

    • 獲取cookie: request.cookies.get(“key”)

2_session[理解]

  • 解釋: 服務器和用戶來做狀態保持的,里面存儲的是敏感信息(比如身份證,登陸信息),由服務器設置,并存儲在服務器

  • 作用: 用來做用戶的登陸狀態保持

  • session的設置和獲取

    • 設置session: sessioin[key] = value

    • 獲取session: value = session.get(key)

  • 注意點:

    • 1.session的存儲依賴于cookie

    • 2.存儲在cookie中的sessionID需要加密,需要秘鑰(SECRET_KEY)

3_上下文[了解]

  • 解釋: 就是一個容器

  • 請求上下文

    • request: 封裝的是請求相關的數據

    • session: 封裝的是和用戶相關的敏感信息

  • 應用上下文(在項目中具體應用)

    • current_app: 是app的一個代理對象,可以通過他獲取app身上設置的各種屬性,主要用在模塊化開發中

    • g: 一個局部的全局變量,主要用在裝飾器中

4_Flask_script[掌握]

  • 解釋: 屬于flaks的擴展

  • 作用: 用來動態運行程序,配合flask_migrate做數據庫遷移

  • 使用格式:

    • 啟動命令: python xxx.py runserver -h(host是IP地址) -p(端口號) -d(調試模式)

    • pip install flask_script

    • 1.安裝

    • 2.導入Manager類

    • 3.創建對象manager,管理app

    • 4.使用manager啟動程序

5_render_template[掌握]

  • 解釋: 屬于jinja2的模板函數

  • 好處:

    • 1.以后的視圖函數,只負責業務邏輯的處理,比如: 數據庫的增刪改查

    • 2.以后數據的展示,全部都有jinja2的模板負責

  • 使用格式:

    • response = render_template(‘模板文件’)

6_模板語法,獲取變量[理解]

  • 解釋: 在模板中獲取視圖函數的變量

  • 格式:

    • {{ 變量 }}

7_模板語法,分支循環判斷[掌握]

  • 模板語法的種類

    • 分支格式:

{% if 條件 %}
	語句1
{% else%}
	語句2
{% endif %}
  • 循環語句格式:

{% for 變量 in 容器 %}

{% endfor %}
  • 注釋:

{# 這里是注釋的內容 #}

8_系統字符串過濾器[理解]

  • 解釋: 過濾器,用來過濾想要的數據

  • 格式: {{ 字符串 | 字符串過濾器 }}

  • 常見的字符串過濾器有:

    • title: 將每個單詞的首字母都大寫

    • lower: 將每個單詞都小寫

    • upper: 將每個單詞都大寫

    • reverse: 反轉

    • …

9_系統列表過濾器[理解]

  • 解釋: 過濾器,用來過濾想要的數據

  • 格式: {{ 列表 | 列表過濾器 }}

  • 常見的列表過濾器有:

    • first: 獲取列表第一個元素

    • last: 最后一個元素

    • sum: 列表和

    • length: 列表長度

    • …

10_自定義過濾器[掌握]

  • 解釋: 當系統提供的過濾器滿足不了需求的時候,需要自定義

  • 自定義過濾器有兩種格式:

    • def 函數名: pass

    • app.add_template_filter(函數名,‘過濾器名字’)

    • 1.先定義好函數,再將函數添加到系統默認的過濾器列表中

    • 2.定義函數的時候,直接使用系統過濾器進行裝飾

@app.template_filter('過濾器名字')
def 函數名():
    pass
  • 案例:

  • 1.獲取列表偶數和

  • 2.反轉列表

11_代碼復用之宏[了解]

  • 解釋: 相當于python中的函數,定義好一段功能,在需要的時候進行調用即可

  • 定義格式:

{% macro 宏名(參數) %}

{% endmacro %}
  • 使用格式:

// 使用當前文件定義好的宏
{{ 宏名(參數) }}

//使用其他文件定義好的宏
{% import '文件' as 別名%}
{{ 別名.宏名(參數) }}

12_代碼復用之繼承[掌握]

  • 解釋: 一個子模板繼承自父模板

  • 作用: 共性抽取,代碼復用

  • 父模板

    • 1.所有子類都具有的相同的內容的, 在父模板中直接寫死

    • 2.每個子類的模板中不一樣的內容,使用block模板定義好

  • 子模板

    • 1.根據子類自己的需求,去重寫父類中的block對應的內容

    • 2.如果重寫之后,還想保留父類的內容,那么使用{{super()}}

    • 3.繼承格式: {% extends ‘父文件名’%}, 寫在頁面的頂部

  • 注意點:

    • 定義block的格式

{% block 名稱 %}

{% endblock %}

13_代碼復用之包含[了解]

  • 解釋: 在一個文件中完全擁有另外一個文件,不夠靈活,沒法擴展

  • 格式:

方式一:
{% include '文件' %}

方式二:
{% include '文件' ignore missing %}

注意點: ignore missing 如果包含的文件不存在,也不會報錯

15_模板特有變量[了解]

  • 解釋: 不需要通過python程序傳遞就可以直接使用的變量

  • 常見的特有變量如下:

    • 場景: 登陸出錯,可以顯示

    • 注意點:

    • 1.使用flash存儲消息的時候需要設置SECRET_KEY

    • 2.因為flash內部的消息存儲,依賴于了session

    • config: 就是flask中的app.config, 表示應用程序中的所有配置信息

    • request: 表示請求上下文對象,封裝的是請求相關的數據

    • g: 局部的全局變量(了解)

    • url_for(): 反解析,通過函數的名字,解析到視圖函數的路徑

    • get_flashed_messsages(): 用來消耗flash方法中存儲的消息.

16_csrf攻擊流程[了解]

  • 解釋: 跨站點請求偽造

  • 掌握: 需要理解講義中的攻擊流程圖

  • 代碼演示: webA, webB

17_csrf攻擊手動解決[了解]

  • 在cookie增加一個csrf_token

  • 在表單中增加一個csrf_token

  • 校驗: 取出cookie和表單中的csrf_token比較如果二者一致那么是正常請求

  • 具體過程,看keynote圖解

18_CSRFProtect解決csrf[理解]

  • 使用流程:

    • from flask_wtf.csrf import CSRFProtect

    • pip install flask-wtf

    • 1.安裝擴展包

    • 2.導入包

    • 3.創建CSRFProtect對象,保護app對象

    • 4.設置SECRET_KEY,便于csrf_token加密

    • 5.需要在表單中設置csrf_token隱藏字段即可

    • 例子: 注冊案例

    • 注意點:

    • 1.CSRFProtect一旦保護了app之后, 會對’POST’, ‘PUT’, ‘PATCH’, 'DELETE’做校驗.

讀到這里,這篇“flask設置cookie的方法是什么”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

雅江县| 读书| 星座| 永年县| 定襄县| 陕西省| 南溪县| 滨海县| 凤山县| 祁门县| 兴仁县| 乾安县| 乐业县| 平顺县| 连江县| 衡东县| 新化县| 阳山县| 金沙县| 那曲县| 师宗县| 北流市| 儋州市| 萨迦县| 沐川县| 雷州市| 桐城市| 额尔古纳市| 集安市| 高邑县| 镇巴县| 年辖:市辖区| 华坪县| 彩票| 都江堰市| 灵寿县| 崇信县| 台前县| 濮阳市| 辉南县| 连江县|