У меня есть простая веб-страница с одной ссылкой, index.html
:
<a href='/dog/?owner=' + data['owner'] + '&breed=bulldog'>Dog</a>
Здесь данные передаются динамически через сервер.
urls.py
имеет определение метода для вызова:
...
url(r'^dog/$',
TemplateView.as_view(template_name='dog.html'),
name='dog'),
url(r'^ajax/dog/$',
views.dog,
name='ajax/dog'),
...
А у моего views.py
определен метод:
def dog(request):
owner = request.GET['owner']
LOG.info(owner)
breed = request.GET['breed']
LOG.info(breed)
...
При нажатии на ссылку в index.html
появляется следующая ошибка:
...
File "/mnt/virtualenv/local/lib/python2.7/site-packages/django/utils/datastructures.py", line 295, in __getitem__
raise MultiValueDictKeyError("Key %r not found in %r" % (key, self))
MultiValueDictKeyError: "Key 'breed' not found in <QueryDict: {u'owner': [u'kevin_lawder']}>"
Меня действительно смущает вопрос, почему один параметр запроса присутствует в словаре QueryDict, а другой - нет. Я попытался заменить request.GET['breed']
на request.GET.get('breed')
, но это возвращает None
.
Что мне здесь не хватает?