Почему я должен использовать представления на основе функций, если есть представления на основе классов?
Из документации Django
В начале был только контракт функции представления, Django передавал вашей функции HttpRequest и ожидал обратно HttpResponse. Это был предел того, что предоставлял Django. На ранних этапах было признано, что существуют общие идиомы и паттерны, встречающиеся в разработке представлений. разработки. Общие представления на основе функций были введены для абстрагирования эти шаблоны и облегчить разработку представлений для общих случаев. На сайте Проблема с типовыми представлениями на основе функций заключается в том, что хотя они хорошо охватывали простые случаи хорошо, не было возможности расширить или настроить их помимо некоторых опций конфигурации, что ограничивало их полезность во многих реальных приложениях. Обобщенные представления на основе классов были созданы с той же целью, что и общие представления на основе функций, чтобы сделать разработку представлений упростить разработку представлений. Однако способ реализации этого решения, через использование миксинов, обеспечивает инструментарий, который приводит к тому, что основанные на классах общие представления являются более расширяемыми и гибкими, чем чем их аналоги, основанные на функциях.strong text
Представления на основе классов в Django превосходны. Они очень абстрактны и как бы сами по себе справляются со многими вещами. Они также могут быть изменены в соответствии с тем, что вы хотите реализовать, но представления на основе функций очень явные, и часто более простые, если вы собираетесь реализовать что-то другое или сложные вещи. Это может показать вам, почему некоторые люди любят использовать представления на основе функций