Django Есть ли лучший вариант использовать CBV подход в моем проекте?
Извините за такой длинный вопрос и мой плохой английский. Я закончил Python Crash Course, вводную книгу по программированию от Eric Matthes. После этого решил продолжить изучение Django и обнаружил, что метод CBV более приемлем для создания сайта. Я переписал программу обучения CBV из книги, которая была написана по функциям, но я все еще чувствую себя немного потерянным с методами CBV после прочтения официальной документации. Может кто-нибудь подскажет, много ли в моем варианте CBV жесткого кодирования? И можно ли сделать это лучше?
Каждый вариант работает нормально.
Вот вариант представлений из книг с комментариями, я вставил комментарии, чтобы понять, что делает код:
Вот мой новый вариант CBV, также с добавлением slugs и absolute_url: Что там можно улучшить? Заранее спасибо
Представления на основе функций (FBV) и представления на основе классов (CBV) имеют свое место в проектах Django. Обычно это сводится к предпочтениям разработчиков. Лично я предпочитаю FBV, потому что в них меньше абстракций. Хотя нет ничего плохого и в том, чтобы пойти по пути CBV!
Если вы хотите прочитать больше о FBV и о том, почему его можно предпочесть, ознакомьтесь с этой серией статей: https://spookylukey.github.io/django-views-the-right-way/