Django 何时需要CGI/FastCGI,何时不需要

Django 何时需要CGI/FastCGI,何时不需要,django,angularjs,nginx,cgi,wsgi,Django,Angularjs,Nginx,Cgi,Wsgi,这可能是一个小问题,但我已经读了足够多关于CGI/FastCGI/WSGI的书,仍然没有完全理解,所以我决定问它 首先,我想说我所理解的。我知道CGI是web服务器(例如Apache或NGINX)和web服务器应用程序(例如Python应用程序)之间的接口程序。另外,我已经了解到,您可以通过配置web服务器,为静态文件(html)提供服务。您不需要CGI/WSGI来实现这一点。当您想要提供动态内容,而不仅仅是某个位置的一个文件时,您需要CGI或类似的工具。通过服务,我的意思是由另一个程序生成ht

这可能是一个小问题,但我已经读了足够多关于CGI/FastCGI/WSGI的书,仍然没有完全理解,所以我决定问它

首先,我想说我所理解的。我知道CGI是web服务器(例如Apache或NGINX)和web服务器应用程序(例如Python应用程序)之间的接口程序。另外,我已经了解到,您可以通过配置web服务器,为静态文件(html)提供服务。您不需要CGI/WSGI来实现这一点。当您想要提供动态内容,而不仅仅是某个位置的一个文件时,您需要CGI或类似的工具。通过服务,我的意思是由另一个程序生成html,然后将其提供给web服务器程序


那我就不明白了。为什么angularJS不需要CGI或类似工具?是否因为如果部署到例如Nginx,angularJS应用程序可以通过服务index.html文件直接服务?不知怎的,AngularJS神奇地处理了之后的一切(几乎)?但是,如果您有一个基于Django的web应用程序,那么您确实需要一个WSGI,它实际上是捆绑在Django中的,因此您不需要对其进行必要的修改?

我不能说Django有什么有用的地方,但Angular只存在于客户端web浏览器中。它不需要在服务器上执行任何操作,所有程序代码都是在客户端运行的JavaScript中处理的。因此,基本上您的Web服务器所要做的就是提供一组静态文件(html部分模板、javascript文件、css等),Angular负责其余的工作

当然,一旦您开始通过Angular从服务器获取动态数据,这种情况可能会改变,但从原则上讲,您可以使用静态json文件做很多事情,如规范Angular phonecat教程所示