Здесь нет никакого «правильного» подхода. Изучать фреймворк можно параллельно с изучением того, как работают «голые» сайты. Это совершенно не противоречащие друг-другу вещи и нет никакой необходимости делать это в определенном порядке. Фреймворк основан на тех же самых принципах, просто он позволяет не писать заново банальные и одинаковые вещи для каждого сайта.
У того же Django код достаточно простой в большинстве случаев, в PyCharm можно прыгать по методам и смотреть реализацию.
Вообще, рекомендую читать хорошую документацию и книги. Судя по вопросам на тостере, большинство сейчас изучает методом копипасты. Создают базовый проект, а потом добавляют в него функциональность копи-пастя нагугленные примеры, в случае ошибок бегут сюда задавать примитивные вопросы, ответы на которые есть даже в Django Tutorial.
Как минимум документацию по Django (Django Tutorial, затем все остальное) рекомендую прочитать от корки до корки. И не один раз, потому что с первого раза многое будет непонятно и забудется.