Python Django進階教程(六)(快取機制,CSRF)

HuangZhang_123發表於2017-05-24

Django版本:1.11
作業系統:Windows
Python:3.5
歡迎加入學習交流QQ群:657341423


Django的快取的快取有幾種型別:

  1. Memcached的
  2. 資料庫快取
  3. 檔案系統快取
  4. 本地記憶體快取
    個人首選排序:Memcached,檔案系統快取,本地記憶體快取,資料庫快取

快取引數:參考官網說明即可。


快取使用:快取可以用於模版,檢視,URLconf,站點都可以設定使用快取。使用方法也比較簡單,不做詳細描述。可網上找資料。
無論使用哪一種快取型別,快取的使用方法都是一樣的。
具體可以看官網
例項使用1
例項使用2


快取總結,總的來說,現在setting.py設定快取型別。(如果是檔案型別,資料庫型別需要建立相應的目錄,資料表)。然後需要使用快取的地方(模版,檢視,URLconf,站點)設定即可。
弊:如果對於資料修改了而且設定快取了,會導致資料無法及時更新。
解決方法:對快取的超時不能設定過長。超時設定在setting.py的TIMEOUT不能太長,還有cache_page(15*60)這個時間也不能太長。
利:可以減少資料的互動和載入。


CSRF中介軟體

基礎教程五說到表單post的時候,會出現CSRF提示。
當時使用在views.py裡裝飾器@csrf_exempt是對於中介軟體的遮蔽。
如果不遮蔽也可實現表單的post,方法如下:
views.py
這裡寫圖片描述
return的需要用render。

webformIn.html
這裡寫圖片描述
在html的form加入{% csrf_token %}

這樣就可以解決CSRF問題。


進階教程程式碼:請點選

相關文章