Услышав «нужен JWT», решил, что обязан вставить токены везде. Потратил вечер на конфиг, застрял и раздражённо спросил себя: а моему пету это вообще надо? Ответ — нет. Вопрос для джуна не «какой моднее», а «что подходит задаче».
Нейтрально: сессии хранят состояние на сервере через cookie — удобно для классического Django с формами. JWT — самодостаточный токен для отдельного API/SPA. Выбор зависит от того, как клиент общается с сервером.
from django.contrib.auth.decorators import login_required
@login_required # незалогиненного перенаправит
def profile(request): ...
Для монолитного пет на Django остался на сессиях, а JWT изучил на абстрактном примере. Жаль потраченного вечера, но опыт не пустой: я чуть не усложнил проект ради чужих слов.