Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Solved the POST-data-lost-after-redirect problem by raising RuntimeEr…

…ror when DEBUG=True in the CommonMiddleware

git-svn-id: http://code.djangoproject.com/svn/django/trunk@3109 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 3aa6b0556f74b823673bc854c3c8be92d8fbabf0 1 parent e5cd46d
Adrian Holovaty authored June 08, 2006

Showing 1 changed file with 2 additions and 0 deletions. Show diff stats Hide diff stats

  1. 2  django/middleware/common.py
2  django/middleware/common.py
@@ -39,6 +39,8 @@ def process_request(self, request):
39 39
         # trailing slash or a file extension.
40 40
         if settings.APPEND_SLASH and (old_url[1][-1] != '/') and ('.' not in old_url[1].split('/')[-1]):
41 41
             new_url[1] = new_url[1] + '/'
  42
+            if settings.DEBUG and request.META['REQUEST_METHOD'].lower() == 'post':
  43
+                raise RuntimeError, "You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining POST data. Change your form to point to %s%s (note the trailing slash), or set APPEND_SLASH=False in your Django settings." % (new_url[0], new_url[1])
42 44
         if new_url != old_url:
43 45
             # Redirect
44 46
             if new_url[0]:

0 notes on commit 3aa6b05

Please sign in to comment.
Something went wrong with that request. Please try again.