I'd agree that CBV's can be difficult to reason with (though I personally still use them for most views) but the following two websites have massively helped me make sense of them. The only thing missing really is the actual flow of a request, such as knowing `dispatch() -> get() -> get_context_data()` but it's not terribly difficult to work out and learn.