Встречается на собеседованиях • сегодня
Что такое CBV в Django
CBV (Class-Based Views) — это представления на основе классов в Django, которые позволяют структурировать код более гибко и повторно использовать логику. В отличие от FBV (Function-Based Views), CBV предоставляют готовые шаблоны для распространённых задач (например, ListView, DetailView, CreateView), уменьшая количество boilerplate-кода.
Преимущества CBV:
- Наследование и миксины для переиспользования кода.
- Встроенные методы (get, post, dispatch) для обработки HTTP-запросов.
- Чёткое разделение логики (например,
get_context_dataдля передачи данных в шаблон).
Пример:
python
from django.views.generic import ListView
from .models import Post
class PostListView(ListView):
model = Post
template_name = 'blog/post_list.html'
context_object_name = 'posts'Недостатки:
- Менее прозрачны, чем FBV, из-за скрытой логики родительских классов.
- Требуют изучения иерархии классов (например,
View→TemplateView→ListView).
Используйте CBV для стандартных операций (CRUD), а FBV — для сложной или нестандартной логики.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы