Generic View? What is that and why would I use it?

Wednesday 4:10 pm to 5:00 pm, in Salon A-E
Intermediate

About This Talk

What is a Generic Class-Based View (CBV)?

I’ll give a general explanation of what a CBV is.

CBV vs Function-Based View

Comparisons with function-based views, showing a few sample conversions between some simple function-based views and CBVs.

Pros/Cons

Discussion about reasons to use use CBVs, and times when maybe they aren’t the best tool.

CBV Internals

URL Routing and as_view

Talk about how your urls.py handles using a CBV instead of a function. Also go into detail about how CBVs’ as_view method works.

dispatch

Discuss how dispatch works. This part is simple, until you start writing your own generic views that you’ll subclass later.

Some Common CBVs

Talk about a few common CBVs and the methods/attributes they add to the mix.

Mixins

You can actually create class mixins that you can combine with the built-in CBVs to do some great things. I’ll talk about how to create a simple mixin, and reasons you might want to do it.

Decorating a CBV

There are some interesting things to keep in mind when decorating classes, especially when decorating classes you are going to subclass.

Creating your own CBV

Talk about a few reasons you might want to create your own CBV, and some seemingly good, but actually bad reasons.

Example of a Bad CBV

I thought it was a good idea at the time to write a CBV that handled multiple forms with a variety of different arguments. When I wrote it, it worked out great! But when it came time to maintaining it, and passing the project on to other developers, it broke apart.

What Do You Get Out of this Talk?

Hopefully, this talk will have you walking away with:

  • An understanding of how generic views work
  • Pros/cons to using generic views
  • An example of a view you should probably never create…

Presenters

    Photo of

    Felipe Lee

    I’m a full stack developer at University of Texas at Austin. I self-describe as a dog person, but somehow have 3-4 cats (one comes and goes) and no dogs at the moment. Interestingly, two of my cats were born the very first day I started as a developer so they’ve grown up with my career. :smiley_cat: In my spare time I like to learn about tech that I don’t use at work, play video games like Elder Scrolls, and spend time with my partner and friends.