I've seen a lot of people on here and /r/django struggling with CBVs recently.
Just a reminder that you \*do not\* need to feel obligated to use CBVs. In real-world projects, the ratio of [FBV](https://docs.djangoproject.com/en/3.2/topics/http/views/)\-to-[CBV](https://docs.djangoproject.com/en/3.2/topics/class-based-views/intro/) is [essentially 50/50](https://dev.to/jackdlinke/modern-django-project-examples-58mm). CBVs are not objectively better or worse than FBVs, but they can be very difficult, especially for beginners. If you are struggling with CBVs, there are a couple things to consider:
* First, if do you choose to use CBVs there is a very detailed resource for familiarizing yourself with their intricacies: [https://ccbv.co.uk/](https://ccbv.co.uk/)
* Second, there is nothing unusual about struggling a bit with CBVs. They really can be complicated. Consider using FBVs to start with until you get more experience, or even skipping CBVs altogether (except if you're using DRF's ViewSet, for instance). I encourage you all to read through this excellent guide by [Luke Plant](https://twitter.com/spookylukey?lang=en) (one of Django's core developers) about why FBVs may be the better approach to Django Views. Even if you don't completely agree, he provides a number of useful insights and advice: [https://spookylukey.github.io/django-views-the-right-way/](https://spookylukey.github.io/django-views-the-right-way/)