Услышав «нужен JWT», решил, что обязан вставить токены везде. Потратил вечер на конфиг, застрял и раздражённо спросил себя: а моему пету это вообще надо? Ответ — нет. Вопрос для джуна не «какой моднее», а «что подходит задаче».

Нейтрально: сессии хранят состояние на сервере через cookie — удобно для классического Django с формами. JWT — самодостаточный токен для отдельного API/SPA. Выбор зависит от того, как клиент общается с сервером.

from django.contrib.auth.decorators import login_required

@login_required          # незалогиненного перенаправит
def profile(request): ...

Для монолитного пет на Django остался на сессиях, а JWT изучил на абстрактном примере. Жаль потраченного вечера, но опыт не пустой: я чуть не усложнил проект ради чужих слов.