Первое, что приходит в голову - модель
"Model-View-Controller". В Django она называется "Model-Template-View". Как строятся такие приложения:
- модель, которая отвечает за работу с данными (в первую очередь, это схема таблиц БД);
- шаблон (например, HTML-шаблон), который отображает, как именно должен выглядеть вывод данных;
- контроллер, который отвечает за логику приложения: берёт данные из модели, что-то делает с ними и отображает в шаблоне.
По этой модели работают многие популярные веб-фреймворки (Ruby on Rails, Django, Zend, ASP.NET MVC...)