Поэтому часто говорят, что Django просто переназвали Controller во View, а View — в шаблоны.
Еще одно свойство шаблонной системы — безопасность. Можно обращаться не к любым методам, а только к тем, которые не меняют сами объекты. Поэтому шаблон спокойно можно отдать на редактирование кому-то другому, зная, что он ничего не сломает.
Центральная же идея фреймворка — быстрая разработка с маленьким количеством кода. Все нацелено на то, чтобы большую часть времени программист занимался не настройкой фреймворка, а написанием кода своего приложения.
Сессии. Вы просто подключаете в приложение нужный модуль и у вас в каждом запросе появляется request.session, в которую можно класть любые данные. Они, естественно, разные для каждого юзера.
Авторизация . Вообще чумовая штука: регистрация, авторизация, система прав на объекты вашей модели данных, генерация паролей, рассылка сообщений юзерам по EMail.
Причем эти базовые вещи еще и легко расширяются. Например, если нужны нестандартные поля для таблички юзеров, то с помощью некоторого подобия наследования можно переделать стандартную табличку, и система авторизации будет использовать ее.
Надо только указать, какие ваши объекты вы хотите видеть в административном интерфейсе и все, Django автоматически формирует интерфейс, который мало того, что работает, так еще и выглядит классно.
Одни из главных принципов Питона: "явное лучше неявного" и "должен быть только один очевидный способ делать одну вещь".
Например, если вы определили класс Person с атрибутом picture, в котором лежит фотография человека, то Django сделает ему удобные методы get_picture_url(), get_picture_filename().
В каком-нибудь языке со статической типизацией надо было бы заменить все объекты в списке на некую обертку с дополнительным полем: