softwaremaniacs.org/blog/2005/12/08/django Тут достаточно неплохо описаны некоторые идеи.
Я так понимаю, Вас больше беспокоят дополнительные приложения.
В идеале, проект Django состоит из некоторого числа независимых приложений, каждое из которых отвечает за свою часть во всем проекте (В блоге, например, отдельные приложения для постов, комментариев. И еще много других, о которых сейчас даже трудно задуматься: например, thumbnail для выдачи миниатюр аватарок пользователей и др.). Каждое такое приложение должно быть настолько независимым, что при желании можно совершенно безболезненно перенести его в другой проект. Достаточно подключить его в INSTALED_APPS и можно пользоваться. Эта идея достаточно практична: на сайте
https://www.djangopackages.com/ можно найти приложения для решения почти любой повседневной задачи и не только.
Конечно, в целях практики, стоит попытаться самому реализовать приложения, желаемого проекта. С каждым новым проектом вы будете начинать понимать, какие части прошлых проектов стоит выделить в отдельные приложения, чтобы не приходилось копипастить код, тем самым применяя принцип
DRY.
P.S. А начать изучать Django стоит с уроков из документации. Там и практика и разъяснение принципов.