我正在使用Django 1.6。我遇到了错误
**Exception Type**: MultiValueDictKeyError
**Exception Value**:"'chat_room_id'"
在上面提到的代码部分。任何人都可以帮我解决这个问题吗?
@login_required
def join(request):
'''
Expects the following POST parameters:
chat_room_id
message
'''
p = request.POST
r = Room.objects.get(id=int(p['chat_room_id']))
r.join(request.user)
return HttpResponse('')
答案 0 :(得分:0)
chat_room_id
似乎不在p
中。 request.POST
是MultiValueDict
。它有一个.get()
方法来获取值。使用默认值,以便在没有键值时,可以使用默认值。例如。
@login_required
def join(request):
'''
Expects the following POST parameters:
chat_room_id
message
'''
p = request.POST
room_id = p.get('chat_room_id', False)
# ------------------------------^ Returns False if `chat_room_id` is not in `p`
if room_id:
r = Room.objects.get(id=int(room_id))
r.join(request.user)
else:
# throw error
return HttpResponse('')