gpt4 book ai didi

python - Django MultiValueDictKeyError 什么时候发生以及如何避免?

转载 作者:太空宇宙 更新时间:2023-11-03 17:42:01 24 4
gpt4 key购买 nike

我在缩放变量的views.py 中遇到了MultiValueDictKeyError。当我删除缩放变量时,错误落在它下面的变量上。所以我可以假设这将遵循其余变量的规律。什么是 MultiValueDictKeyError 以及如何预防它们?

views.py

def getMarkers(request):
query = request.GET
zoom = query.__getitem__('zoom')
fromlat = query.__getitem__('fromlat')
tolat = query.__getitem__('tolat')
fromlng = query.__getitem__('fromlng')
tolng = query.__getitem__('tolng')
querystring = coordinate.objects.filter(lat__gt=fromlat) .filter(lat__lt = tolat).filter(lon__gt = fromlng).filter(lon__lt = tolng).filer(zoom_gt=zoom)
data = serializers.serialize("json", coordinate.objects.all())
return HttpResponse(data)

models.py

class coordinate(models.Model):
name = models.CharField(max_length=30)
lat = models.DecimalField(max_digits=10, decimal_places=7)
lon = models.DecimalField(max_digits=10, decimal_places=7)
zoom = models.IntegerField(default=15)

最佳答案

x.__getitem__(y) == x[y]

因此,如果 y 不在 GET 响应中,python 会引发 KeyError

使用get()方法而不是直接访问,它返回None(或您通过default kwarg设置的任何内容)而不是> key 错误

zoom = request.GET.get('zoom')

query = request.GET 
zoom = query.get('zoom')

关于python - Django MultiValueDictKeyError 什么时候发生以及如何避免?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30406888/

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