本週內容
今日內容
ajax結合sweetalert實現刪除按鈕動態效果
bulk_create批量插入資料
自定義分頁器
多對多三種建立方式
明日內容
forms元件
cookies與session操作
django中介軟體
跨站請求偽造csrf
auth模組
bbs小作業
fbv
上週內容回顧
orm查詢優化
only與defer
only方法返回的是乙個queryset物件,本質就是列表套資料物件
該物件內只含有only括號內鎖指定的屬性(其他屬性也可以獲取但是要重新走資料庫)
defer與之相反
select_related與prefetch_related
select_related
括號內只能放外來鍵字段,而且外來鍵字段只能是一堆一,一對多
內部是聯表操作,會將外來鍵關聯的表與當前表直接拼接起來,然後再執行查詢操作,返回的也是乙個queryset,該資料物件獲取當前表中的資料或者關聯表中的資料 都不會再走資料庫
prefetch_related
括號內外鍵欄位 型別全部支援,內部是子查詢 但是給使用者的感覺象是聯表操作,返回的結果也是乙個queryset 該資料物件獲取當前表中的資料或者關聯表中的資料 都不會再走資料庫
第乙個方法耗時再聯表操作
第二個方法耗時再查詢次數
choices引數
主要用在一些可以明確給出所有可能性的地方
如 性別,學歷,婚否等
先提前定義好對應關係
再通過欄位的choices引數來指定關係
mtv與mvc模型
models templates views
models views controller
django自稱是mtv實際上還是mvc
ajax
非同步提交
區域性重新整理
ajax基本語法結構
我們學的是基於jquery封裝好的ajax
所以使用的時候一定要確保jquery正常匯入
$.ajax(,
success:function(data){}
前後端資料編碼格式
urlencoded
資料格式username=jason&password=123
django針對符合urlencoded編碼格式的資料,並會自動解析餅幫你放到request.post總
formdata
form表單傳送檔案必須要指定的編碼模式
該變啊格式既可以發檔案也可以發普通鍵值對
django會自動識別,講內部符合urlencoded編碼格式的資料自動解析,並放大到request.post中
講檔案型別的資料,自動解析放到request.files中
目前只有ajax可以傳送json格式的資料 form表單是不支援的
ajax如何傳送json格式的資料
1.需要新建乙個引數
2.需要講資料序列化成json格式的字串
json.stringify({})
ajax傳送檔案(不單單可以傳送檔案也可以發普通鍵值對)
1.先要生成乙個內建物件
var myformdata =new formdata();
2.你可以不停新增資料
如歌獲取inout檔案標籤內的檔案資料
var myfileobj=$('input[type='file']')[0].file[0];
3.需要額外兩個指定的引數
contenttype:false, #不指定任何編碼 物件自帶編碼 django能夠識別
processdata:false #瀏覽器不要對資料進行任何處理
ajax與sweetalert參考**即可
cv打法結合二次開發
bulk_create批量插入資料
for i in range (1000):
models.book.object.create(title='第%本書'%i)
(這裡不復刻了,就是說這條指令執行很慢,花了六百多毫秒)
book_list=
for i in rage(10000):
models.book.object.bulk_create(book_list)
"""兩者差距很大"""
自定義分頁器
**不需要掌握,只需要掌握推倒思路
要求你掌握的是自定義分頁器的使用方法
後端 自定義分頁器的使用
book_queryset=models.book.objects.all()#你想要分頁展示的資料
current_page=request.get.get('page',1)#獲取當前頁
all_count=book_queryset.count()#看一共有多少條資料
page_queryset=book_queryset[page_obj.start:page_obj.end]
return render (request.'index.html',locals())
前端 講頁面上原本的queryset全部還成切片之後的queryset即可
}
}告訴這是安全的可以讀取
django 前後端分離,ajax
1.直接在前端呼叫第三方的介面 三門峽今日天氣 轉 到 2.呼叫自己資料庫 帶分頁的 後端 csrf exempt def get tongzhi request code 200 msg success 獲取全部資料 tongzhis all list article.objects.filter...
前後端分離
關於前後端分離的一些好的文章推薦 前端框架 為什麼前後端分離 最直白的理解,我認為是因為在開發過程中,前端總是需要等待後端的環境搭建好之後,前端才能獲取相關資料,對於前端的開發影響很大,事實上前端並不關心後端的開發,那麼有沒有方法不讓後端影響前端的開發呢?其實後端提供的是什麼?乙個執行伺服器,乙個就...
前後端分離
在此說明 前後端分離有利於後端的快速開發,但並不利於搜尋引擎優化 seo 上圖能清晰的看到,使用前後端分離模式進行開發,瀏覽器會向伺服器傳送請求,伺服器會向瀏覽器傳送乙個類似框架的html,是固定的空殼,此時瀏覽器再使用ajax請求向後端伺服器索要資料,後端伺服器返回json字串給瀏覽器,從而使瀏覽...