第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Django Asyc Views是ajax的替代品嗎?

Django Asyc Views是ajax的替代品嗎?

GCT1015 2022-08-18 15:40:48
我有一些困惑,并希望通過提出一些問題來清除它們。根據(jù)這個(gè)Ajax定義:Ajax 是一組 Web 開發(fā)技術(shù),在客戶端使用許多 Web 技術(shù)來創(chuàng)建異步 Web 應(yīng)用程序。使用Ajax,Web應(yīng)用程序可以從服務(wù)器異步發(fā)送和檢索數(shù)據(jù),而不會(huì)干擾現(xiàn)有頁面的顯示和行為。1. 它與 Django 3.0 中提供的異步視圖功能不相同嗎?1A.如果 Async Django 不會(huì)完全取代 AJAX,那么它值得學(xué)習(xí)嗎?2. 這對渠道意味著什么?Channels是一個(gè)采用Django并將其功能擴(kuò)展到HTTP之外的項(xiàng)目 - 處理WebSockets,聊天協(xié)議,IoT協(xié)議等。它建立在名為ASGI的Python規(guī)范之上。異步 django 也可以取代通道嗎?通過推理建議與這些主題相關(guān)的內(nèi)容。例如,將AJAX與JSON一起使用(只是一個(gè)例子)我知道將Django轉(zhuǎn)換為異步需要時(shí)間,因此在回答時(shí)要牢記這一點(diǎn)
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個(gè)贊

我不是Python開發(fā)人員,但我從頭開始實(shí)現(xiàn)了幾個(gè)Web服務(wù)器,我想我可以幫助你。

服務(wù)器渲染與客戶端渲染

在Web開發(fā)中,有兩種方法可以向最終用戶交付內(nèi)容,稱為服務(wù)器呈現(xiàn)和客戶端呈現(xiàn)

服務(wù)器端呈現(xiàn) (SSR) — 傳統(tǒng)的呈現(xiàn)方法,基本上頁面的所有資源都位于服務(wù)器上。然后,當(dāng)請求頁面(通常來自Web瀏覽器)時(shí),下載Html,JS和CSS??蚣苓€可以動(dòng)態(tài)地基于后端邏輯創(chuàng)建html,并最終下載它。在這一點(diǎn)上,許多框架為立即創(chuàng)建具有“驚人”功能的應(yīng)用程序提供了奇跡。

技術(shù): java, c#, python, nodejs, etc

客戶端渲染(CSR) - 有時(shí)稱為“前端渲染”是一種較新的渲染方法,它依賴于通過JavaScript框架在客戶端(瀏覽器)上執(zhí)行的JS。因此,當(dāng)請求頁面時(shí),下載了最小,很少或空的索引.html,css和js。在這里,javascript負(fù)責(zé)發(fā)送或接收數(shù)據(jù),并在不刷新整個(gè)頁面的情況下更新頁面的最小部分。最后,當(dāng)用戶單擊或觸發(fā)某些事件時(shí),javascript 將使用異步調(diào)用 (ajax) 將通常的數(shù)據(jù)發(fā)送或接收到 api rest (json)。

技術(shù):react,angular,vue,aurelia,jquery,純javascript等

Django 是 Server Rendering Framework

正如你所看到的:最簡單的CRUD示例Hello World應(yīng)用程序,你需要python(服務(wù)器語言)在Django中開發(fā)。Django在內(nèi)部創(chuàng)建你的html頁面,并將它們呈現(xiàn)給你的用戶。

React(angular,vue等)是一個(gè)客戶端渲染框架

想象一下 OMS 提供的 API。此 API 為我們提供了和端點(diǎn),以便按國家/地區(qū)獲取 covid 統(tǒng)計(jì)信息:

想象一下,你來自z世代,你不了解java,python,c#和其他古代語言。您需要開發(fā)一個(gè)簡單的儀表板,顯示感染病毒的第一批國家的covid統(tǒng)計(jì)數(shù)據(jù)。

您的網(wǎng)絡(luò)將具有視覺上的酷炫效果:使用空框加載主頁,然后逐個(gè)顯示從前十個(gè)國家/地區(qū)開始的統(tǒng)計(jì)信息。

為了達(dá)到這個(gè)效果,你將使用 React 渲染一個(gè)帶有空框的主頁,并且你將觸發(fā)對 api 的幾個(gè)請求:

您的主頁仍在工作,用戶正在導(dǎo)航,滾動(dòng),幾秒鐘后,框中會(huì)填充統(tǒng)計(jì)信息。

因此,我們可以說您的Web執(zhí)行了異步調(diào)用,允許動(dòng)態(tài)加載部分網(wǎng)頁...等待 等待 這是AJAX:D

異步視圖:Python 異步代碼與 ASGI

Python Web框架的新挑戰(zhàn)之一是適應(yīng)異步模型的潛在好處。

Django支持編寫異步(“async”)視圖,以及一個(gè)完全支持異步的請求堆棧,如果你在ASGI下運(yùn)行。

ASGI規(guī)范是一個(gè)迭代但基本的重新設(shè)計(jì),它提供了一個(gè)異步服務(wù)器/應(yīng)用程序接口,支持HTTP,HTTP / 2和WebSockets。

正如你在下面的鏈接中看到的,異步視圖不是帶有ajax的html頁面,因?yàn)槭褂肁SGI,我們可以說這是Django嘗試以異步方式開發(fā),但在服務(wù)器中使用python:

結(jié)論

異步視圖不是帶有ajax的html頁面,只是一個(gè)python代碼,而是以異步方式在服務(wù)器中運(yùn)行。

您的問題

  1. Async Views vs AJAX?

  • 異步視圖是 python(服務(wù)器)中的代碼,也是瀏覽器中的 ajax 代碼。當(dāng)然,異步視圖Ajax并不相關(guān)。

  1. 這不也是Django中的異步視圖嗎?

  • 是的,異步視圖是一種異步代碼,但在服務(wù)器中,而不是在客戶端,如react,angular等

  1. 如果 Async Django 不會(huì)完全取代 AJAX,那么它值得學(xué)習(xí)嗎?

  • 這取決于你的目標(biāo)。目前,Web開發(fā)人員的工作(檢查此頁面的遠(yuǎn)程工作部分 - >)正在請求異步技能,但在客戶端,如react,angular,vue等。Java,python和其他強(qiáng)大的語言正在利用它的力量來滿足后端需求。

  1. 這對渠道意味著什么?

  • 作為你的段落,通道可以用于api和Web,但具有服務(wù)器策略(python)。

  1. 異步 django 也可以取代通道嗎?

  • 我認(rèn)為不是。也許通道正在使用或?qū)⑹褂卯惒郊夹g(shù),如異步視圖。


查看完整回答
反對 回復(fù) 2022-08-18
?
慕虎7371278

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個(gè)贊

根據(jù)我掌握的信息,(不知道AJAX是什么,但許多Django教程都提到了它,所以它在我的學(xué)習(xí)愿望清單上)

AJAX 代表 Asynchronous Javascript 和 XML。它歸結(jié)為執(zhí)行異步調(diào)用,允許動(dòng)態(tài)加載部分網(wǎng)頁。這意味著在更改數(shù)據(jù)時(shí)僅刷新頁面的一部分,而不是整個(gè)頁面。它允許您的頁面從服務(wù)器或API獲取數(shù)據(jù),并允許用戶同時(shí)查看頁面。從 API 檢索信息后,可以更新視圖以匹配新數(shù)據(jù)。

這不也是Django中的異步視圖嗎?

是的,看起來Django將允許您在視圖本身中執(zhí)行這些技術(shù)??赡苡幸恍┯美梢允褂肁JAX,而Django的異步功能不能,但是如果不研究它,我無法給出明確的答案。

1A.如果 Async Django 不會(huì)完全取代 AJAX,那么它值得學(xué)習(xí)嗎?

AJAX是否仍然值得學(xué)習(xí)。我會(huì)說是的。我是所有行業(yè)的杰克的心態(tài),沒有大師。如果你打算用Django度過余生,也許這是不值得的。然而,AJAX在其他技術(shù)中很常見,所以如果你打算冒險(xiǎn)在Django堆棧之外,那么這將是值得學(xué)習(xí)的。如果您深入研究 AJAX,您還將獲得了解異步通信工作原理的一些基本原則的額外好處。

  1. 這對渠道意味著什么?

同樣,這只是推測,但我假設(shè)通道將提供異步Django不會(huì)立即具有的其他功能(在你提到的摘錄中:處理WebSockets,聊天協(xié)議,物聯(lián)網(wǎng)協(xié)議等等。Django作為異步本身并不提供這些功能)。隨著時(shí)間的推移,Django可能會(huì)采用其中一些功能,但我認(rèn)為Channels仍然會(huì)有它的利基市場。


查看完整回答
反對 回復(fù) 2022-08-18
  • 2 回答
  • 0 關(guān)注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號