diff --git a/django/views/generic/base.py b/django/views/generic/base.py index 485b74d377bf..a961dfddee55 100644 --- a/django/views/generic/base.py +++ b/django/views/generic/base.py @@ -136,10 +136,9 @@ def dispatch(self, request, *args, **kwargs): # Try to dispatch to the right method; if a method doesn't exist, # defer to the error handler. Also defer to the error handler if the # request method isn't on the approved list. - if request.method.lower() in self.http_method_names: - handler = getattr( - self, request.method.lower(), self.http_method_not_allowed - ) + method = request.method.lower() + if method in self.http_method_names: + handler = getattr(self, method, self.http_method_not_allowed) else: handler = self.http_method_not_allowed return handler(request, *args, **kwargs)