В представлении Django вы может получить доступ к request.GET ['имя переменной']
, поэтому в вашем представлении вы можете сделать что-то вроде этого:
myvar = request.GET['myvar']
Фактический тип объекта request.GET ['myvar']
это:
<class 'django.http.QueryDict'>
Теперь, если вы хотите передать несколько переменных с одним и тем же именем параметра, например:
http://example.com/blah/?myvar=123&
Он предназначен для возврата последнего значения, мой вариант использования - мне нужен список.
из документации django:
QueryDict. getitem (ключ) Возврат значение для данного ключа. Если ключ имеет более одного значения, getitem () возвращает последнее значение. Поднимает django.utils.datastructures.MultiValueDictKeyError если ключ не существует. (Это подкласс стандарта Python KeyError, так что вы можете продолжать ловить KeyError
QueryDict.getlist (key) Возвращает данные с запрошенным ключом, как Список Python. Возвращает пустой список, если ключ не существует. Это гарантировано чтобы вернуть какой-то список.
Обновление: Если кто-нибудь знает, почему разработчики django сделали это, дайте мне знать, показывать список кажется нелогичным, и он не ведет себя как таковой. Не очень питонический!