From a420f83e7d2e446ca01ef7c13d30c2ef3e975e5c Mon Sep 17 00:00:00 2001 From: Collin Anderson Date: Sat, 27 Dec 2014 02:16:53 -0500 Subject: Fixed #24055 -- Keep reference to view class for resolve() --- django/contrib/admin/options.py | 1 + django/contrib/admin/sites.py | 1 + django/views/generic/base.py | 2 ++ 3 files changed, 4 insertions(+) (limited to 'django') diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py index fe657546a4..ab10952e3f 100644 --- a/django/contrib/admin/options.py +++ b/django/contrib/admin/options.py @@ -583,6 +583,7 @@ class ModelAdmin(BaseModelAdmin): def wrap(view): def wrapper(*args, **kwargs): return self.admin_site.admin_view(view)(*args, **kwargs) + wrapper.model_admin = self return update_wrapper(wrapper, view) info = self.model._meta.app_label, self.model._meta.model_name diff --git a/django/contrib/admin/sites.py b/django/contrib/admin/sites.py index ab0ec1a837..54d1e2de7a 100644 --- a/django/contrib/admin/sites.py +++ b/django/contrib/admin/sites.py @@ -245,6 +245,7 @@ class AdminSite(object): def wrap(view, cacheable=False): def wrapper(*args, **kwargs): return self.admin_view(view, cacheable)(*args, **kwargs) + wrapper.admin_site = self return update_wrapper(wrapper, view) # Admin-site-wide views. diff --git a/django/views/generic/base.py b/django/views/generic/base.py index 8a9b6baa44..e9aac357f4 100644 --- a/django/views/generic/base.py +++ b/django/views/generic/base.py @@ -69,6 +69,8 @@ class View(object): self.args = args self.kwargs = kwargs return self.dispatch(request, *args, **kwargs) + view.view_class = cls + view.view_initkwargs = initkwargs # take name and docstring from class update_wrapper(view, cls, updated=()) -- cgit v1.3