summaryrefslogtreecommitdiff
path: root/django/views
diff options
context:
space:
mode:
authorSamriddha9619 <sumitkumartripathi0@gmail.com>2025-09-08 18:26:32 +0530
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2025-09-22 08:57:07 +0200
commit359c1c6ff943b518b05f5780723e62ce5bda7be6 (patch)
tree4f71b0d17e6427498c4a1fe0ef15e0b299e4417e /django/views
parent77ae09916d944d5f3e4cea29f4dc3fe9eee5de27 (diff)
[6.0.x] Fixed #36488 -- Fixed merging of query strings in RedirectView.
Co-authored-by: Ethan Jucovy <ethan.jucovy@gmail.com> Co-authored-by: Natalia <124304+nessita@users.noreply.github.com> Backport of a36df6890d8995480f2e95ba556b77cef975d4f6 from main.
Diffstat (limited to 'django/views')
-rw-r--r--django/views/generic/base.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/django/views/generic/base.py b/django/views/generic/base.py
index 8412288be1..485b74d377 100644
--- a/django/views/generic/base.py
+++ b/django/views/generic/base.py
@@ -1,4 +1,5 @@
import logging
+from urllib.parse import urlparse
from asgiref.sync import iscoroutinefunction, markcoroutinefunction
@@ -252,7 +253,10 @@ class RedirectView(View):
args = self.request.META.get("QUERY_STRING", "")
if args and self.query_string:
- url = "%s?%s" % (url, args)
+ if urlparse(url).query:
+ url = f"{url}&{args}"
+ else:
+ url = f"{url}?{args}"
return url
def get(self, request, *args, **kwargs):