Fixed #14558 -- Modified the way PUT and DELETE HTTP methods are handled so that overridden methods will get used correctly. Thanks to pyrou for the report and patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14374 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
623592e0ac
commit
4c9741cba2
|
@ -143,7 +143,8 @@ class ProcessFormView(View):
|
||||||
|
|
||||||
# PUT is a valid HTTP verb for creating (with a known URL) or editing an
|
# PUT is a valid HTTP verb for creating (with a known URL) or editing an
|
||||||
# object, note that browsers only support POST for now.
|
# object, note that browsers only support POST for now.
|
||||||
put = post
|
def put(self, *args, **kwargs):
|
||||||
|
return self.post(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
class BaseFormView(FormMixin, ProcessFormView):
|
class BaseFormView(FormMixin, ProcessFormView):
|
||||||
|
@ -174,7 +175,8 @@ class BaseCreateView(ModelFormMixin, ProcessFormView):
|
||||||
|
|
||||||
# PUT is a valid HTTP verb for creating (with a known URL) or editing an
|
# PUT is a valid HTTP verb for creating (with a known URL) or editing an
|
||||||
# object, note that browsers only support POST for now.
|
# object, note that browsers only support POST for now.
|
||||||
put = post
|
def put(self, *args, **kwargs):
|
||||||
|
return self.post(*args, **kwargs)
|
||||||
|
|
||||||
class CreateView(SingleObjectTemplateResponseMixin, BaseCreateView):
|
class CreateView(SingleObjectTemplateResponseMixin, BaseCreateView):
|
||||||
"""
|
"""
|
||||||
|
@ -200,7 +202,8 @@ class BaseUpdateView(ModelFormMixin, ProcessFormView):
|
||||||
|
|
||||||
# PUT is a valid HTTP verb for creating (with a known URL) or editing an
|
# PUT is a valid HTTP verb for creating (with a known URL) or editing an
|
||||||
# object, note that browsers only support POST for now.
|
# object, note that browsers only support POST for now.
|
||||||
put = post
|
def put(self, *args, **kwargs):
|
||||||
|
return self.post(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
class UpdateView(SingleObjectTemplateResponseMixin, BaseUpdateView):
|
class UpdateView(SingleObjectTemplateResponseMixin, BaseUpdateView):
|
||||||
|
@ -223,7 +226,8 @@ class DeletionMixin(object):
|
||||||
return HttpResponseRedirect(self.get_success_url())
|
return HttpResponseRedirect(self.get_success_url())
|
||||||
|
|
||||||
# Add support for browsers which only accept GET and POST for now.
|
# Add support for browsers which only accept GET and POST for now.
|
||||||
post = delete
|
def post(self, *args, **kwargs):
|
||||||
|
return self.delete(*args, **kwargs)
|
||||||
|
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
if self.success_url:
|
if self.success_url:
|
||||||
|
|
Loading…
Reference in New Issue