Возможно, это немного нубский вопрос, но я достаточно прочитал о CGI/FastCGI/WSGI и до сих пор не понял полностью, поэтому решил задать его.
Во-первых, я хочу сказать, что я понял. Я понял, что CGI — это интерфейсная программа между веб-сервером (например, Apache или NGINX) и приложением веб-сервера (например, приложением Python). Также я понял, что можно просто настроив веб-сервер, обслуживать статический файл (html). Для этого вам не нужен CGI/WSGI. Вам нужен CGI или аналогичный, если вы хотите обслуживать динамический контент, а не только один файл в каком-то месте. Под обслуживанием я подразумеваю создание html какой-либо другой программой, которая затем передаст его программе веб-сервера.
Тогда вещь, которую я не понимаю. Почему angularJS не требует CGI или подобного? Это потому, что если приложение angularJS развернуто, например, на Nginx, его можно обслуживать напрямую, обслуживая файл index.html? И каким-то волшебным образом AngularJS обрабатывает все (почти) после этого? Но если у вас есть веб-приложение на основе Django, вам нужен WSGI, который на самом деле поставляется в комплекте с Django, поэтому вам не нужно его модифицировать?