Django你須要知道的事

MTV模型與MVC模型

MVChtml

Model(模型):是應用程序中用於處理應用程序數據邏輯的部分。     一般模型對象負責在數據庫中存取數據。ajax

View(視圖):是應用程序中處理數據顯示的部分。     一般視圖是依據模型數據建立的。數據庫

Controller(控制器):是應用程序中處理用戶交互的部分。     一般控制器負責從視圖讀取數據,控制用戶輸入,並向模型發送數據。json

MTV瀏覽器

M 帶包模型(Model) 負責業務對象和數據庫的關係映射(ORM) T 表明模板(Template) 負責如何把頁面展現給用戶(html) V 表明視圖 (View) 負責業務邏輯 並在適當時候調用Model和Template緩存

queryset數據類型的特性

 

能夠切片使用(不支持負的索引)安全

可迭代服務器

惰性查詢cookie

緩存機制session

queryset數據類型的方法

 

create()

p = Person(name="WZ", age=23)

p.save()

.all()

get()

exclude()

valeslist()

orderby()

級聯刪除不等於同時刪除

 

級聯刪除表示主表記錄刪除,對應表記錄 一樣刪除

一對多 , 一對一 時候用,

user = models.ForeignKey(User, blank=True, null=True, on_delete=models.CASCADE)

cookie與session的運行機制

 

1.cookie數據存放在客戶的瀏覽器上,session數據放在服務器上

2.cookie不是很安全,別人能夠分析存放在本地的COOKIE並進行COOKIE欺騙 考慮到安全應當使用session。

三、session會在必定時間內保存在服務器上。當訪問增多,會比較佔用你服務器的性能 考慮到減輕服務器性能方面,應當使用COOKIE

四、單個cookie保存的數據不能超過4K,不少瀏覽器都限制一個站點最多保存20個cookie。 cookie 和session 的聯繫

session是經過cookie來工做的,能夠考慮將登錄信息等重要信息存放爲session,其餘信息若是須要保留,能夠放在cookie中

 

反向解析

做用:防止硬編碼,便於維護

path("login/",views,login,name = "login")

模板 :{% url "login"  參數 %}
視圖 :redirct(reverse(login),args=參數)

Q查詢的兩種使用方式

book.object.filter(Q(name = ...)|Q(user = ...))
q=Q()
q.chidnen.append(...)
book.objects.filter(q)

請求頭contentType的做用

 

content-type請求頭是幹嘛的呢,http請求頭有四種類型,分別是通用頭部,請求頭部,響應頭部以及內容頭部,首先,咱們要弄清楚,

content-type是屬於內容頭部,既然是內容頭部,那這個請求頭是用來向接收端解釋傳遞的該內容主體的,content-type的取值是告訴服務端,你傳遞過去的內容是啥,你應該準備好如何接收

 

Django請求生命週期

rbac表結構

 

User 用戶,

Role 角色 ,

Permission 權限,

表關係:

角色和 權限 一對多 和用戶一對多

crm的查詢語法

 

min()

max()

conut()

avg()

向服務器發送一個json數據

 
$.ajax({
        url:'${pageContext.request.contextPath }/rest/jsonBody',
        type:'POST',
        dataType:'json',
        contentType:'application/json;charset=UTF-8',
        data:JSON.stringify(data),
        success:function(data, status){
            console.log(data);
        }
    });
 

中介模型

 

 

多對多字段 建立的時候 Djiango會自動幫咱們建立第三張表知足不了咱們的需求,可用中介模型使用自定義的第三張表 添加字段。

 

 

ForeignKey中的db_constraint參數

 

db_constraint 惟一約束

 
 

db_constraint = True 方便查詢 約束字段

 
 

db_constraint = fales 不約束字段 同時也能夠查詢

 

用戶認證組件

 

用戶登錄的時候

註冊對象auth.login(request,當前登錄人對象)

if 獲取 request.user 是否爲空

登錄成功

優勢:可用中間件 校驗 ,可全局用

相關文章
相關標籤/搜索