ajax前後端分離

2022-04-10 14:21:53 字數 2995 閱讀 3710

本週內容

​ 今日內容

​ 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字串給瀏覽器,從而使瀏覽...