Встречается на собеседованиях • сегодня

В чем разница между CBV и FBV

CBV (Class-Based Views) и FBV (Function-Based Views) — это два подхода к созданию представлений в Django.

FBV — простые функции, принимающие request и возвращающие HttpResponse. Легко читаются, но могут дублировать код.

python
def my_view(request):
    if request.method == 'GET':
        return HttpResponse('Hello!')
    return HttpResponseNotAllowed(['GET'])

CBV — классы, наследуемые от View или других встроенных представлений (например, ListView). Позволяют повторно использовать код через наследование и миксины, но сложнее для понимания новичкам.

python
class MyView(View):
    def get(self, request):
        return HttpResponse('Hello!')

Плюсы CBV:

  • Переиспользование кода (миксины, наследование).
  • Встроенные шаблоны (CRUD, пагинация).

Плюсы FBV:

  • Простота и прозрачность.
  • Лучше для сложной логики.

Выбор зависит от задачи: FBV для простых эндпоинтов, CBV — для стандартных операций (списки, формы).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы