summaryrefslogtreecommitdiff
path: root/django/middleware/common.py
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2006-06-08 03:47:18 +0000
committerAdrian Holovaty <adrian@holovaty.com>2006-06-08 03:47:18 +0000
commit3aa6b0556f74b823673bc854c3c8be92d8fbabf0 (patch)
tree503f2df07dd7c59be91f36c507a0b9f0674d6105 /django/middleware/common.py
parente5cd46d6d1ecf9a388d5b2b9e33f815803fcd1c4 (diff)
downloaddjango-3aa6b0556f74b823673bc854c3c8be92d8fbabf0.tar.gz
Solved the POST-data-lost-after-redirect problem by raising RuntimeError when DEBUG=True in the CommonMiddleware
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3109 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/middleware/common.py')
-rw-r--r--django/middleware/common.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/django/middleware/common.py b/django/middleware/common.py
index 763918878a..026b3cbc92 100644
--- a/django/middleware/common.py
+++ b/django/middleware/common.py
@@ -39,6 +39,8 @@ class CommonMiddleware:
# trailing slash or a file extension.
if settings.APPEND_SLASH and (old_url[1][-1] != '/') and ('.' not in old_url[1].split('/')[-1]):
new_url[1] = new_url[1] + '/'
+ if settings.DEBUG and request.META['REQUEST_METHOD'].lower() == 'post':
+ 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])
if new_url != old_url:
# Redirect
if new_url[0]: