2

Example:

>>> from django.http import QueryDict
>>> q = QueryDict('a=x&b=y&c=z')
>>> q
<QueryDict: {u'a': [u'x'], u'c': [u'z'], u'b': [u'y']}>
>>> q = QueryDict('a=x&b=y&c=z+1')
>>> q
<QueryDict: {u'a': [u'x'], u'c': [u'z 1'], u'b': [u'y']}>
>>>                                  ^

Why is the '+' replaced with a space?

falsetru
  • 357,413
  • 63
  • 732
  • 636
Unos
  • 1,293
  • 2
  • 14
  • 35

1 Answers1

2

+ is reserved as shorthand notation for space.

To represent +, use %2b:

>>> QueryDict('a=x&b=y&c=z%2b1')
<QueryDict: {u'a': [u'x'], u'c': [u'z+1'], u'b': [u'y']}>
falsetru
  • 357,413
  • 63
  • 732
  • 636