인프런 커뮤니티 질문&답변

김주희님의 프로필 이미지
김주희

작성한 질문수

<M.B.I.T> 테스트 페이지 만들기! with Django

제출버튼 클릭하면 오류 발생

작성

·

134

0

KakaoTalk_20231201_100642607.jpg마지막 단계에서 제출버튼 클릭하니 위와 같은 오류가 발생합니다. 어떻게 해결해야해 하나요 ?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
오류 메시지를 통해 ‘MultiValueDictKeyError’가 발생한 것으로 보입니다. 이는 Django의 request.POSTrequest.GET에서 존재하지 않는 키에 접근하려 할 때 일어나는 일반적인 문제입니다. 에러 메시지에서 'question-1'이라는 키를 찾지 못해서 발생한 문제인 것 같습니다.

해결하기 위해서는 먼저 템플릿에서 name='question-1'을 가진 입력 필드가 실제로 존재하는지 확인하세요. 입력 필드가 존재하는 경우, 서버 측 코드에서 해당 키를 올바르게 참조하고 있는지 검토해야 합니다. 입력 필드 존재 여부와 서버 코드를 아래와 같이 확인해보세요:

  1. HTML 템플릿에서 <input> 태그 중 name='question-1'이 포함된 부분이 있는지 확인합니다.
  2. Django 뷰(view)에서 request.POST.get('question-1') 또는 request.POST['question-1']을 사용해 접근하기 전에 해당 키가 존재하는지 확인합니다.

에러가 발생하는 부분의 코드를 다시 검토해 보시고 아래의 예시를 참고하여 수정해 보세요:

# 키 존재 여부를 확인 후 접근
question_1 = request.POST.get('question-1')
if question_1:
    # 'question-1' 처리 로직
    ...

# 딕셔너리에 키가 없을 때 기본값을 설정하여 오류 방지
question_1 = request.POST.get('question-1', '기본값')

위와 같은 방법으로 코드를 수정하신 후 다시 시도해보세요. 만약 문제가 계속 발생한다면, 추가적인 도움을 드리기 위해 에러가 발생한 코드의 일부를 제공해주시면 도움이 될 것입니다.

오류 해결에 도움이 되길 바라며, 개발 과정에서 궁금한 점이나 더 필요한 도움이 있다면 언제든지 문의해 주세요.

김주희님의 프로필 이미지
김주희

작성한 질문수

질문하기