1. 程式人生 > >django框架的基礎知識點《貳》

django框架的基礎知識點《貳》


==================狀態保持
-----session
作用:狀態保持
與cookie區別:
cookie儲存在瀏覽器中
session:儲存在伺服器中,即python程式碼執行的那臺電腦
支援配置,可以指定儲存的位置
在django中儲存方案:
關係型資料庫
記憶體
關係型資料庫+記憶體
非關係型資料庫,如redis
在settings.py中進行配置,將session儲存到redis中
-------------瞭解session儲存、獲取流程
session依賴於cookie
1.在第一次寫sessin時,會生成唯一標識
2.將唯一標識作為redis的鍵
3.將唯一標識存入cookie中


字典在redis中儲存的部分:值
唯一標識作為鍵
將字典加密,作為值儲存hello--django
==================類檢視
---------程式碼實現
1.在views.py中定義類,繼承自django.views.View
2.定義方法的名稱,必須與請求方式小寫一致
3.註冊路由:類.as_view()
---------為什麼要用類檢視
1.程式碼邏輯清晰
2.程式碼重用
---------裡面到底是怎麼執行的
1.註冊路由:類.as_view()===>view
2.當正則表示式匹配成功後,view函式被執行
3.呼叫了dispatch函式
4.根據請求方式,從物件中獲取函式
5.執行這個函式

---------為類檢視新增裝飾器
方案一:註冊路由時新增裝飾器
方案二:@method_decorator(裝飾器名稱,name='類檢視中函式的名稱')
class 類(View):
pass
---------功能擴充套件類Mixin
定義類,只定義一個方法,用於實現一個特定功能,比如實現向表中新增資料
這種類,被稱為功能擴充套件類,命名以Mixin結尾
在python中,一個類可以繼承自多個類
class Register(CreateMixin,View):
pass
==================中介軟體
與flask中的請求勾子函式功能類似
每次請求響應中,都會被執行
---------程式碼實現

1.在應用中建立middlewares.py檔案
2.定義語法與裝飾器語法一樣
3.在settings.py中註冊:
MIDDLEWARE=[....]
---------執行順序
檢視執行前,由上向下執行
檢視執行後,由下向上執行
==================模板簡介
瞭解
==================資料庫配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': #資料庫名稱
'HOST':#資料庫ip
'PORT':3306,#資料庫埠號
'USER':'root',#資料庫使用者名稱
'PASSWORD':#資料庫密碼
}
}
==================定義模型類
模型類----表
類屬性----欄位
模型類物件--行
模型類物件的屬性-某行的單元格
語法:
class 類名稱(models.Model):
屬性=models.型別(選項)
class Meta:
db_table='表名'
遷移
1.生成遷移檔案:python manage.py makemigrations
2.執行遷移檔案:python manage.py migrate