﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
32195	Improve error messages from forgetting to call .as_view() on a CBV	Angus Holder	nobody	"We can detect early-on that the user has forgotten to call .as_view() on their CBV when passing it into path(). For:

{{{
urlpatterns = [
    path('home', HomeView)
]
}}}

The error currently happens only when you first load the route (rather than when constructing the routes), and looks like 

{{{
Internal Server Error: /
Traceback (most recent call last):
  File ""C:\Users\Angus\.virtualenvs\django-WBTbdxDv\lib\site-packages\django\core\handlers\exception.py"", line 47, in inner
    response = get_response(request)
  File ""C:\Users\Angus\.virtualenvs\django-WBTbdxDv\lib\site-packages\django\core\handlers\base.py"", line 179, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
TypeError: __init__() takes 1 positional argument but 2 were given
}}}

Which is especially hard to work out given that the traceback doesn't even include any of the user's own code, and this is an error that's easy for beginners to run into when first using CBVs.

My PR changes it to fail early, inside the call to django.urls.path(), with a clear error:

{{{
URL route 'foo' should pass in 'EmptyCBView.as_view()' instead of 'EmptyCBView'
}}}"	Uncategorized	new	Core (URLs)	3.1	Normal				Unreviewed	1	0	0	0	0	1
