Я создаю API в django, в котором у меня есть параметр (имя_состояния), и значение имя_состояния может включать в себя значение '&'
, что вызывает определенные проблемы?
Это бессмысленно . В строке запроса два параметра разделены амперсандом (&
). Например:
foo=bar&qux=3
Если вы хотите, чтобы содержимое содержало амперсанд, вам нужно кодировать его, например:
?state_name=jammu<b>%26</b>kashmir&value=2
Здесь %26
- кодировка амперсанда, и тогда строка запроса имеет два параметра: state_name
и value
. Затем они анализируются как:
>>> from django.http import QueryDict
>>> QueryDict('state_name=jammu%26kashmir&value=2')
<QueryDict: {'state_name': ['jammu&kashmir'], 'value': ['2']}>
Вы можете использовать QueryDict
для построения такого запроса, например:
>>> qd = QueryDict(mutable=True)
>>> qd['state_name'] = 'jammu&kashmir'
>>> qd['value'] = '2'
>>> qd.urlencode()
'state_name=jammu%26kashmir&value=2'