gpt4 book ai didi

javascript - 异步Django,Ajax,Jquery信息

转载 作者:行者123 更新时间:2023-12-03 22:40:48 25 4
gpt4 key购买 nike

好大新闻! Async Django
我有些困惑,我想问一些问题来消除它们。
1.异步 View 是否需要AJAX?
根据我得到的信息,(不知道什么是AJAX,但是许多Django教程都提到了它,因此它在我的学习心愿单上)

Ajax is a set of web development techniques using many web technologies on the client side to create asynchronous web applications. With Ajax, web applications can send and retrieve data from a server asynchronously without interfering with the display and behavior of the existing page.


这不是Django中的异步 View 也会做的吗?
1A。如果Async Django无法完全取代AJAX,值得学习吗?
2.这对 channel 意味着什么?

Channels is a project that takes Django and extends its abilities beyond HTTP - to handle WebSockets, chat protocols, IoT protocols, and more. It's built on a Python specification called ASGI.


异步Django也可以替换 channel 吗?
通过推理建议与这些主题相关的事物。 ,例如结合使用AJAX和JSON(仅作为示例)
我知道将Django转换为异步将花费一些时间,因此在回答时请记住这一点

最佳答案

我不是python开发人员,但是我从头开始实现了几个Web服务器,我想可以为您提供帮助。

服务器渲染与客户端渲染

在Web开发中,有两种方法可以将内容交付给最终用户,即Server rendering and client side rendering

服务器端呈现(SSR) —传统的呈现方法,基本上页面的所有资源都存储在服务器上。然后,当请求页面时(通常从Web浏览器),将下载Html,JS和CSS。框架也可以根据后端逻辑动态创建html并最终下载它。在这一点上,许多框架都为通过“惊人的”功能立即创建应用程序提供了奇迹。

技术:Java,C#,Python,Node.js等

客户端渲染(CSR) —有时称为“前端渲染”,是一种较新的渲染方法,它依赖于通过JavaScript框架在客户端(浏览器)上执行的JS。因此,当请求页面时,将下载最小,很少或为空的index.html,css和js。这里 javascript 负责发送或接收数据并更新页面的最小部分,而无需刷新整个页面。 。最终,当用户单击或触发某个事件时,javascript将使用异步调用(ajax)将数据通常发送或接收到api rest(json)。

技术:react,angular,vue,aurelia,jquery,pure javascript等

Django是服务器渲染框架

如您所见:Simplest CRUD exampleHello World app,您需要python(服务器语言)在Django中进行开发。 Django内部创建您的html页面并将其呈现给您的用户。

React(Angular,Vue等)是一个客户端渲染框架

想象一下OMS提供的api。此api为我们和端点提供了按国家/地区获取covid统计信息的方法:

  • https://oms.api/covid/stats/country/ {country-id}

  • 想象一下您来自z世代,而您对java,python,C#和其他古代语言一无所知。您需要开发一个简单的仪表板,以显示感染该病毒的第一批国家的原始统计数据。

    您的网络将具有视觉上的炫酷效果:加载带有空框和一个一个的框的主页,您将显示从前十个国家开始的统计信息。

    为了实现这种效果,您将使用React渲染一个带有空框的主页,并且您将触发对api的多个请求:
  • (中国)https://oms.api/covid/stats/country/ch
  • (美国)https://oms.api/covid/stats/country/eu
  • (意大利语)https://oms.api/covid/stats/country/it

  • 您的主页仍在工作,用户正在导航,滚动,几秒钟后,方框中填充了统计信息。

    So, we can say that your web performed ASYNCHRONOUS calls allowing for parts of web pages to be loaded dynamically...wait wait This is AJAX :D



    异步 View :带有ASGI的Python异步代码

    Python Web框架的新挑战之一是适应异步模型的潜在好处。

    如果您在 ASGI 下运行,则Django支持编写异步(“异步”) View 以及完全启用了异步的请求堆栈。

    ASGI 规范是一个迭代但基本的重新设计,它提供了一个异步服务器/应用程序接口(interface),并支持HTTP,HTTP/2和WebSockets。

    正如您在以下链接中看到的那样, 异​​步 View 并不是使用ajax的html页面,因为使用ASGI,我们可以说这是Django尝试以异步方式进行开发,但是 在服务器中使用python进行了开发:
  • https://docs.djangoproject.com/en/3.1/topics/async/
  • https://www.encode.io/articles/hello-asgi

  • 结论

    异​​步 View 不是带有ajax的html页面,只是python代码,而是以异步方式在服务器中运行。

    你的问题
  • 异步 View 将不需要AJAX吗?
  • 异步 View 是python(服务器)中的代码和浏览器中的ajax。当然异​​步 View Ajax 不相关。
  • 这不是Django中的异步 View 也会做的吗?
  • 是的,异​​步 View 是一种异步代码,但是在服务器中,而不是在客户端(如react,angular等)中
  • 如果Django异步不能完全替代AJAX,值得学习吗?
  • 这取决于您的目标。目前, Web开发人员的工作(请检查此页面的远程工作部分->)正在请求异步技能,但在客户端,例如react,angular,vue等。Java,python和另一种强大的语言正在利用其强大的功能来满足后端需求。
  • 这对 channel 意味着什么?
  • 作为您的段落, channel 可能适用于api和网站,但具有服务器策略(python)。
  • 异步Django也可以替换 channel 吗?
  • 我认为不可以。 channel 可能正在使用或将使用异步技术(例如“异步 View ”)。
  • 关于javascript - 异步Django,Ajax,Jquery信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61838998/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com