# Class Based Views and Function Based Views

**URL:** <https://forum.djangoproject.com/t/class-based-views-and-function-based-views/39915>\
**Category:** Getting Started\
**Created:** [March 26, 2025, 1:35pm UTC](https://forum.djangoproject.com/t/class-based-views-and-function-based-views/39915 "2025-03-26T13:35:09Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![alanhasn](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/alanhasn/32/27758_2.png) [@alanhasn](https://forum.djangoproject.com/u/alanhasn)\
**Post date:** [March 26, 2025, 1:35pm UTC](https://forum.djangoproject.com/t/class-based-views-and-function-based-views/39915/1 "2025-03-26T13:35:09Z")

</div>

> What is the best one to use FBVs or CBVs because i don’t know when i can start study the CBVs can some one help me?

**the summary:**

1. When in my Django learning journey i can Start learn CBVs?
2. Which one the best for big project FBVs or CBVs?
3. How i long they take to learn CBVs and where i can study it with all details?

---

<div class="post-metadata">

**Author:** ![KenWhitesell](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/kenwhitesell/32/280_2.png) [@KenWhitesell](https://forum.djangoproject.com/u/KenWhitesell)\
**Post date:** [March 26, 2025, 2:07pm UTC](https://forum.djangoproject.com/t/class-based-views-and-function-based-views/39915/2 "2025-03-26T14:07:15Z")

</div>

Welcome @alanhasn !

> [@alanhasn](#):
>
> When in my Django learning journey i can Start learn CBVs?

The [Official Django Tutorial](https://docs.djangoproject.com/en/5.1/intro/tutorial01/) introduces them, so you can start learning about them while you’re getting started. (And if you haven’t worked your way through that tutorial, you should - even if you’ve already been using Django.)

> [@alanhasn](#):
>
> Which one the best for big project FBVs or CBVs?

It’s not an “either / or” situation. You can use both as appropriate.

You can search the forum for more information about these choices.

For example, see:

- [CBV vs FBV which one better for Complex web applications](https://forum.djangoproject.com/t/cbv-vs-fbv-which-one-better-for-complex-web-applications/11413)
- [Do not save all models in MultiModelForm](https://forum.djangoproject.com/t/do-not-save-all-models-in-multimodelform/15571)
- [Django: save() prohibited to prevent data loss due to unsaved related object 'predictions' - #15 by KenWhitesell](https://forum.djangoproject.com/t/django-save-prohibited-to-prevent-data-loss-due-to-unsaved-related-object-predictions/17730/15)
- [Correct view construction](https://forum.djangoproject.com/t/correct-view-construction/34231)
- [Beginner learning - Function base or Class Base approach - #7 by KenWhitesell](https://forum.djangoproject.com/t/beginner-learning-function-base-or-class-base-approach/39105/7)

(There are many other topics where this is discussed as well. This is just a sample.)

> [@alanhasn](#):
>
> How i long they take to learn CBVs and where i can study it with all details?

That’s up to you - but it helps a _lot_ if you’re really familiar with Python classes and the MRO.

The two resources that I always suggest to people for helping to understand the CBVs are the [Classy Class-Based View](https://ccbv.co.uk/) site and the [CBV diagrams](https://www.brennantymrak.com/articles/django-class-based-views-diagrams.html) page.
