Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django异常类型:多值DictKeyError_Django - Fatal编程技术网

Django异常类型:多值DictKeyError

Django异常类型:多值DictKeyError,django,Django,我正在使用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 '

我正在使用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('')

似乎
聊天室\u id
不在
p
中<代码>请求。POST是一个
多值DICT
。它有一个
.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('')

p['chat\u room\u id']
的值是多少?请打印
p
并显示输出。我在尝试打印p时仍然收到相同的错误。我是Django的新手,所以我无法纠正它。请检查我的答案。如果仍然不起作用,
打印请求。发布
并更新您的问题。