欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

flask設(shè)置cookie

 更新時(shí)間:2023年04月04日 10:23:44   作者:qq_42307546  
這篇文章主要介紹了flask設(shè)置cookie,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,感興趣的同學(xué)可以參考閱讀

1_cookie[掌握]

  • 解釋: 用來保持服務(wù)器和瀏覽器交互的狀態(tài)的, 由服務(wù)器設(shè)置,存儲在瀏覽器
  • 作用: 用來做廣告推送
  • cookie的設(shè)置和獲取
    • 設(shè)置cookie: response.set_cookie(key,value,max_age)
      • max_age: 表示cookie在瀏覽器的存儲時(shí)間,單位是秒
    • 獲取cookie: request.cookies.get(“key”)

2_session[理解]

  • 解釋: 服務(wù)器和用戶來做狀態(tài)保持的,里面存儲的是敏感信息(比如身份證,登陸信息),由服務(wù)器設(shè)置,并存儲在服務(wù)器
  • 作用: 用來做用戶的登陸狀態(tài)保持
  • session的設(shè)置和獲取
    • 設(shè)置session: sessioin[key] = value
    • 獲取session: value = session.get(key)
  • 注意點(diǎn):
    • 1.session的存儲依賴于cookie
    • 2.存儲在cookie中的sessionID需要加密,需要秘鑰(SECRET_KEY)

3_上下文[了解]

  • 解釋: 就是一個(gè)容器
  • 請求上下文
    • request: 封裝的是請求相關(guān)的數(shù)據(jù)
    • session: 封裝的是和用戶相關(guān)的敏感信息
  • 應(yīng)用上下文(在項(xiàng)目中具體應(yīng)用)
    • current_app: 是app的一個(gè)代理對象,可以通過他獲取app身上設(shè)置的各種屬性,主要用在模塊化開發(fā)中
    • g: 一個(gè)局部的全局變量,主要用在裝飾器中

4_Flask_script[掌握]

  • 解釋: 屬于flaks的擴(kuò)展
  • 作用: 用來動態(tài)運(yùn)行程序,配合flask_migrate做數(shù)據(jù)庫遷移
  • 使用格式:
    • 1.安裝
      • pip install flask_script
    • 2.導(dǎo)入Manager類
    • 3.創(chuàng)建對象manager,管理app
    • 4.使用manager啟動程序
      • 啟動命令: python xxx.py runserver -h(host是IP地址) -p(端口號) -d(調(diào)試模式)

5_render_template[掌握]

  • 解釋: 屬于jinja2的模板函數(shù)
  • 好處:
    • 1.以后的視圖函數(shù),只負(fù)責(zé)業(yè)務(wù)邏輯的處理,比如: 數(shù)據(jù)庫的增刪改查
    • 2.以后數(shù)據(jù)的展示,全部都有jinja2的模板負(fù)責(zé)
  • 使用格式:
    • response = render_template(‘模板文件’)

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

  • 解釋: 在模板中獲取視圖函數(shù)的變量
  • 格式:
    • {{ 變量 }}

7_模板語法,分支循環(huán)判斷[掌握]

  • 模板語法的種類
    • 分支格式:
{% if 條件 %}
	語句1
{% else%}
	語句2
{% endif %}
  • 循環(huán)語句格式:
{% for 變量 in 容器 %}

{% endfor %}
  • 注釋:
{# 這里是注釋的內(nèi)容 #}

8_系統(tǒng)字符串過濾器[理解]

  • 解釋: 過濾器,用來過濾想要的數(shù)據(jù)
  • 格式: {{ 字符串 | 字符串過濾器 }}
  • 常見的字符串過濾器有:
    • title: 將每個(gè)單詞的首字母都大寫
    • lower: 將每個(gè)單詞都小寫
    • upper: 將每個(gè)單詞都大寫
    • reverse: 反轉(zhuǎn)

9_系統(tǒng)列表過濾器[理解]

  • 解釋: 過濾器,用來過濾想要的數(shù)據(jù)
  • 格式: {{ 列表 | 列表過濾器 }}
  • 常見的列表過濾器有:
    • first: 獲取列表第一個(gè)元素
    • last: 最后一個(gè)元素
    • sum: 列表和
    • length: 列表長度

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

  • 解釋: 當(dāng)系統(tǒng)提供的過濾器滿足不了需求的時(shí)候,需要自定義
  • 自定義過濾器有兩種格式:
    • 1.先定義好函數(shù),再將函數(shù)添加到系統(tǒng)默認(rèn)的過濾器列表中
      • def 函數(shù)名: pass
      • app.add_template_filter(函數(shù)名,‘過濾器名字’)
    • 2.定義函數(shù)的時(shí)候,直接使用系統(tǒng)過濾器進(jìn)行裝飾
@app.template_filter('過濾器名字')
def 函數(shù)名():
    pass
  • 案例:
  • 1.獲取列表偶數(shù)和
  • 2.反轉(zhuǎn)列表

11_代碼復(fù)用之宏[了解]

  • 解釋: 相當(dāng)于python中的函數(shù),定義好一段功能,在需要的時(shí)候進(jìn)行調(diào)用即可
  • 定義格式:
{% macro 宏名(參數(shù)) %}

{% endmacro %}
  • 使用格式:
// 使用當(dāng)前文件定義好的宏
{{ 宏名(參數(shù)) }}

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

12_代碼復(fù)用之繼承[掌握]

  • 解釋: 一個(gè)子模板繼承自父模板
  • 作用: 共性抽取,代碼復(fù)用
  • 父模板
    • 1.所有子類都具有的相同的內(nèi)容的, 在父模板中直接寫死
    • 2.每個(gè)子類的模板中不一樣的內(nèi)容,使用block模板定義好
  • 子模板
    • 1.根據(jù)子類自己的需求,去重寫父類中的block對應(yīng)的內(nèi)容
    • 2.如果重寫之后,還想保留父類的內(nèi)容,那么使用{{super()}}
    • 3.繼承格式: {% extends ‘父文件名’%}, 寫在頁面的頂部
  • 注意點(diǎn):
    • 定義block的格式
{% block 名稱 %}

{% endblock %}

13_代碼復(fù)用之包含[了解]

  • 解釋: 在一個(gè)文件中完全擁有另外一個(gè)文件,不夠靈活,沒法擴(kuò)展
  • 格式:
方式一:
{% include '文件' %}

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

注意點(diǎn): ignore missing 如果包含的文件不存在,也不會報(bào)錯(cuò)

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

  • 解釋: 不需要通過python程序傳遞就可以直接使用的變量
  • 常見的特有變量如下:
    • config: 就是flask中的app.config, 表示應(yīng)用程序中的所有配置信息
    • request: 表示請求上下文對象,封裝的是請求相關(guān)的數(shù)據(jù)
    • g: 局部的全局變量(了解)
    • url_for(): 反解析,通過函數(shù)的名字,解析到視圖函數(shù)的路徑
    • get_flashed_messsages(): 用來消耗flash方法中存儲的消息.
      • 場景: 登陸出錯(cuò),可以顯示
      • 注意點(diǎn):
      • 1.使用flash存儲消息的時(shí)候需要設(shè)置SECRET_KEY
      • 2.因?yàn)閒lash內(nèi)部的消息存儲,依賴于了session

16_csrf攻擊流程[了解]

  • 解釋: 跨站點(diǎn)請求偽造
  • 掌握: 需要理解講義中的攻擊流程圖
  • 代碼演示: webA, webB

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

  • 在cookie增加一個(gè)csrf_token
  • 在表單中增加一個(gè)csrf_token
  • 校驗(yàn): 取出cookie和表單中的csrf_token比較如果二者一致那么是正常請求
  • 具體過程,看keynote圖解

18_CSRFProtect解決csrf[理解]

  • 使用流程:
    • 1.安裝擴(kuò)展包
      • pip install flask-wtf
    • 2.導(dǎo)入包
      • from flask_wtf.csrf import CSRFProtect
    • 3.創(chuàng)建CSRFProtect對象,保護(hù)app對象
    • 4.設(shè)置SECRET_KEY,便于csrf_token加密
    • 5.需要在表單中設(shè)置csrf_token隱藏字段即可
    • 例子: 注冊案例
    • 注意點(diǎn):
    • 1.CSRFProtect一旦保護(hù)了app之后, 會對’POST’, ‘PUT’, ‘PATCH’, 'DELETE’做校驗(yàn).

19_ORM介紹[理解]

20_ORM使用流程[掌握]

到此這篇關(guān)于flask設(shè)置cookie的文章就介紹到這了,更多相關(guān)flask設(shè)置cookie內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論