Django查询参数:MultiValueDictKeyError-在QueryDict中找不到键

时间:2019-05-22 07:34:14

标签: python django

我有一个带有单个链接的简单网页,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
我在这里想念什么?

0 个答案:

没有答案