Я работаю с API и до текущего момента писал логику во view создавая обычные функции. Каждый раз приходилось повторять 2-3 строки кода в начале каждой функции, чтобы указать API_KEY, проверить доступно ли API и т.д. В общем, следуя принципе DRY я начал искать решения. Является ли CBV этим решением?
Пока всё кажется намного сложнее, чем писать логику в стиле FBV.
Главный вопрос заключается в следующем: как создать родительский класс, описать в нем мои собственные методы (каждый получает разные данные по API), и чтобы принцип работы был такой же как в FBV: принять запрос (request), прочитать у него значения (в get, post), обработать их (я не использую БД), и передать контекст в шаблон.
Твой апи кей, по хорошему, должен быть в переменных окружения, а не прямо в коде
Твой повторяющийся код можно вынести в отдельную функцию, типо 99% проблем с повторением кода решается так
Я не думаю, что вам нужно делать всё с нуля. Надо использовать Django REST Framework, там уже есть базовые классы и уже есть логика, которую вы описали. В частности, имеется и авторизация по API token. Нужно только почитать документацию, разобрать, как там всё работает, и сделать свои классы, наследуя APIView (или что-то другое, что вам больше подойдёт).