Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django模板与AJAX比较加载一个小div_Ajax_Django_Django Templates - Fatal编程技术网

Django模板与AJAX比较加载一个小div

Django模板与AJAX比较加载一个小div,ajax,django,django-templates,Ajax,Django,Django Templates,我有一台Django服务器。服务器加载包含几乎所有静态内容的网页,但必须从数据库加载一些数字 我在考虑性能/价格;我可以在fast服务器上托管Django服务器,并使用Django模板呈现页面。或者,我可以将服务器托管在一台较慢的机器上,使用ajax创建一个静态页面,加载少量的数字,并将该页面廉价地托管在其他地方,比如github.io 后一种选择将使大部分页面加载非常快速和便宜 我想知道需要做哪些权衡?无论您决定雇佣哪台服务器,您都应该始终考虑减少服务器负载-无论您的服务器速度有多快。通过减少

我有一台Django服务器。服务器加载包含几乎所有静态内容的网页,但必须从数据库加载一些数字

我在考虑性能/价格;我可以在fast服务器上托管Django服务器,并使用Django模板呈现页面。或者,我可以将服务器托管在一台较慢的机器上,使用ajax创建一个静态页面,加载少量的数字,并将该页面廉价地托管在其他地方,比如github.io

后一种选择将使大部分页面加载非常快速和便宜


我想知道需要做哪些权衡?

无论您决定雇佣哪台服务器,您都应该始终考虑减少服务器负载-无论您的服务器速度有多快。通过减少服务器负载,我的意思是只让您的服务器做目前真正需要做的事情

比如,让我们向Facebook这样的大公司学习一些东西 你登录到你的帐户,你会看到你有5条通知和3条新消息,加上几张照片和你朋友非常有趣的状态。酷!你现在点击通知图标,看看那个性感女孩(如果你是女孩,请原谅我:D)是否将你添加到她的朋友列表中。当你点击一个大的白色的
弹出,你看到的只是一个正在加载的gif!通知确实会出现,但几秒钟后就会出现。试着用缓慢的互联网连接,你会在更多的时间里欣赏加载gif的美妙

那么,你怎么看? Facebook只让它的服务器计算通知和新消息的数量,并将这些数字显示给你。从而减少服务器负载。它仅在您想要查看通知时向您显示通知。要加载通知,只需要一个最小的AJAX调用,其中只传输了大约10KB的数据

Facebook随时随地都在这样做。想想看:小罗伯特·唐尼在脸谱网页面上贴了一张自己的照片。过了一会儿,您看到它得到了10k+的评论。您决定阅读它们并单击“注释”按钮。一个吸引人的加载gif会再次弹出一段时间,很快就会被注释取代。但是,嘿,只加载了10条评论。什么是。。。哦,等等这就是Facebook减少服务器负载的方式-先阅读这10条评论,如果你想阅读更多,请再次发送请求。

推特也这么做了-无限滚动

锦上添花 这种方法有两方面的好处:

  • 它减少了服务器负载,减少了网站崩溃的机会
  • 它减少了网站的页面加载时间,因为您将传递更少的数据,即此时所需的数据。从而使你的网站更快。(是的,它也能跑得比Flash快!)
  • 耐人寻味 如果你有一些很酷的技术,比如AJAX,为什么不使用它呢?看在上帝的份上,你的服务器不是驴子


    顺便说一句,我指的是Facebook和Twitter背后的工程师。

    这取决于以下几点:

    A.您是想在页面加载本身上显示该数字,还是想在用户单击查看该数字时显示该数字*? 如果希望在页面加载时显示数字,最好在模板响应时显示

    为什么您希望您的网站访问者等待这些数字填充(如果目的是显示它们)

    如果只在用户点击时显示,那么Ajax应该是首选

    B.此查询需要多长时间,查询能否优化到最短时间? 如果您正在进行的查询花费的时间比多,则首先应尽可能快地优化该查询

    如果查询能够在最短的时间内给出结果,那么通过Ajax向服务器发出另一个请求是徒劳的


    但是,如果您知道查询将花费大量时间,那么Ajax就可以了。

    这是对“为什么Ajax好”的漂亮回答。在我的例子中,我说的是我页面顶部的一个数字,每次页面加载时都需要加载。在我的页面顶部,我想说,例如,x个人使用了这个网页,没有其他动态内容。现在,我可以从我的服务器加载页面,或者我可以让github.io加载网页,并使用AJAX从我的服务器获取一个数字。@kiarras,简单地说:让github.io加载网页,并使用AJAX为您的服务器获取一个数字。我的意思是,这一切都是为了节省带宽,减少服务器负载,节省磁盘空间,提高页面加载速度。另外,如果使用github.io,还可以节省一些钱。好吧,算一下。:)