summaryrefslogtreecommitdiff
path: root/django/urls/conf.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/urls/conf.py')
-rw-r--r--django/urls/conf.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/django/urls/conf.py b/django/urls/conf.py
index 119e95df41..b3937d5512 100644
--- a/django/urls/conf.py
+++ b/django/urls/conf.py
@@ -55,6 +55,8 @@ def include(arg, namespace=None):
def _path(route, view, kwargs=None, name=None, Pattern=None):
+ from django.views import View
+
if isinstance(view, (list, tuple)):
# For include(...) processing.
pattern = Pattern(route, is_endpoint=False)
@@ -69,6 +71,12 @@ def _path(route, view, kwargs=None, name=None, Pattern=None):
elif callable(view):
pattern = Pattern(route, name=name, is_endpoint=True)
return URLPattern(pattern, view, kwargs, name)
+ elif isinstance(view, View):
+ view_cls_name = view.__class__.__name__
+ raise TypeError(
+ f'view must be a callable, pass {view_cls_name}.as_view(), not '
+ f'{view_cls_name}().'
+ )
else:
raise TypeError('view must be a callable or a list/tuple in the case of include().')