Сначала "Изучаем Python" Марка Лутца, потом руководство Django. И конечно, желательно понимать принципы работы сетей в целом и протокола HTTP в частности, знать SQL и понимать принципы работы с реляционными базами данных.
Я бы отказался от использования моделей Django, они не предназначены для использования в конкурентном окружении, и написал отдельный асинхронный микросервис, связанный с django-проектом через пару очередей.
Можно отдавать контент файла из вьюхи, тогда можно контролировать кто обращается за файлом, в какой раз, есть ли конкурентные запросы и т.п. Но это требовательный к ресурсам вариант, с ним надо быть осторожным.
Просто архив с исходным кодом проекта или репозиторий на GitHub. Внутрь положить requirements.txt для установки зависимостей. И сделать фикстуры для начальной инициализации. Всё.
Изначально request хранить только запрос. Все остальные поля добавляют middleware. В частности user добавляет AuthenticationMiddleware. Соответственно и списка нет, надо смотреть документацию подключенных middleware.