Какова философия python и django?
поискал статьи про написание чата
Не совсем задача для джанго. 
Джанго создавался как фрейм для онлайн-издания. Потому чтоит вначале изучить стандартный юзкейс фрейма -- странички, блоги, опросы и тп.
Создать чат-приложение с 0 -- намного сложнее чем ты думаешьТут я вообще запутался, а сам я почему чат не могу сделать. 
Можно создать чат на основе повторяющихся ajax запросов к серверу -- не очень елегантно, но для 20 пользователей приемлемоТакже искал, создание блога на django, но и там применяют какие-то стандартные функции публикации django
Изучи ихдополнительное приложение(или модуль, плагин) - комментарии disquz
Если у тебя мало опыта в разработке, стоит сделать упор на базовые функции фрейма, а потом переходить к плагинамРасскажите главные принципы djangoDjango is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. 
- высокоуровневий веб-фрейм
- быстрая разработка
- чистота
- ясная структура кода
Веб-фрейм для перфекционистов с дедлайнами!Расскажите, состав django
Object-relational mapper -- взаимодействие с БД
Automatic admin interface -- базовый интерфейс администратора
Elegant URL design -- управление улами
Template system -- расширяемый язык темплейтов
Cache system -- гибкое кеширование Расскажитекак и с чем его едят 
стоит начать отсюда
https://docs.djangoproject.com/en/1.7/intro/tutorial01/
softwaremaniacs.org/blog/2005/12/08/django Тут достаточно неплохо описаны некоторые идеи.
Я так понимаю, Вас больше беспокоят дополнительные приложения.
В идеале, проект Django состоит из некоторого числа независимых приложений, каждое из которых отвечает за свою часть во всем проекте (В блоге, например, отдельные приложения для постов, комментариев. И еще много других, о которых сейчас даже трудно задуматься: например, thumbnail для выдачи миниатюр аватарок пользователей и др.). Каждое такое приложение должно быть настолько независимым, что при желании можно совершенно безболезненно перенести его в другой проект. Достаточно подключить его в INSTALED_APPS и можно пользоваться. Эта идея достаточно практична: на сайте https://www.djangopackages.com/ можно найти приложения для решения почти любой повседневной задачи и не только.
Конечно, в целях практики, стоит попытаться самому реализовать приложения, желаемого проекта. С каждым новым проектом вы будете начинать понимать, какие части прошлых проектов стоит выделить в отдельные приложения, чтобы не приходилось копипастить код, тем самым применяя принцип DRY.
P.S. А начать изучать Django стоит с уроков из документации. Там и практика и разъяснение принципов.