gpt4 book ai didi

javascript - 错误: Key not found in QueryDict

转载 作者:行者123 更新时间:2023-11-28 20:09:15 26 4
gpt4 key购买 nike

使用 ajax POST 在两个单独的 URL 上调用remove_1和remove_2。

def remove_1(request):        
if not request.is_ajax():
return
if request.POST['remove_1_k']:
remove_1_rec = db.Query(user_guide).filter('remove_1_k =', int(request.POST['remove_1_k'])).get()
remove_1_rec.delete()
return HttpResponse('Remove one is done')

def remove_2(request):
if not request.is_ajax():
return
if request.POST['remove_2_k']:
remove_2_rec = db.Query(faqs).filter('remove_2_k =', int(request.POST['remove_2_k'])).get()
remove_2_rec.delete()
return HttpResponse('Remove two is done')

但我想以这样的方式组合此函数,以便我应该能够删除remove_1_rec if request.POST['remove_1_k'] 或能够删除remove_2_rec if request.POST['remove_2_k']。

但是当我将这两个放入 if 和 elif 并传递“remove_2_k”的 ajax POST 时,就会出现以下错误:

MultiValueDictKeyError:“在< QueryDict中找不到键“remove_1_k”:{u'remove_2_k':[u'1'],u'faq_quest':[u'q1'],u'faq_answer':[u'a1 ']}>"

我该如何解决这个问题?

最佳答案

由于 request.POST 是类似字典的对象,因此您可以使用 .get() 来获得一些额外的好处。

将您的 if 更改为此

if request.POST.get('remove_1_k'):
#do stuff to 1_k
elif request.POST.get('remove_2_k').
#do stuff to 2_k

这将防止引发KeyError

.get() 将从键返回值,如果未提供默认值,则返回 None

关于javascript - 错误: Key not found in QueryDict,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20189575/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com