2017-01-31 4 views
1

에서 값을 얻기 : 나는 해달라고하면 views.py에서 다음장고, 내 템플릿에 가지고 POST

This is passed by {{form}} 

    <form action="" method="POST"> 
     Inicio: <input type="text" id="start"> 
     <input type="submit" value="Sned" > 
    {% csrf_token %} 
    </form> 

것은

def test(request): 

    if request.method != 'POST': 
     context = {'form': 'by GET'} 
     return render(request, 'test.html', context) 
    else: 

     if 'start' in request.POST: 
      start = request.POST['start'] 
     else: 
      start = False 


    context = {'form': start} 
    return render(request, 'test.html', context) 

항상 거짓

을 반환 보인다 열쇠의 존재를 확인해보십시오.이 오류가 있습니다 :

MultiValueDictKeyError 

는 그리고 erropage는 말한다 :

답변

4

id는 자바 스크립트와 CSS 목적을위한 것입니다 이름을 추가 (단일 플러스 따옴표) " '시작'". 서버 측에서 중요한 변수의 경우 name 태그를 사용해야합니다.

<input type="text" id="start" name="start"> 
+0

은 대단히 감사합니다 :) – Alexev

+0

또한 그것을했지만 어떻게 든 여전히 녹색으로 표시되지 않고 내가 다시 수행하려고 할 때 아픈 10 후 시도 – hspandher

+0

를 표시 할 수 있습니다 분, 노력에 감사드립니다. 즐겨 stackoverflow – Alexev

2

<input type="text" name="start" id="start"> 
3

입력에 이름 속성을 추가해야합니다. 그러면 POST 데이터를 가져올 수 있습니다. ,

request.POST.get('start') 

그래서, 필드가 발견되지 않는 경우 :

가에 의해

request.POST['start'] 

교체 :

<form action="" method="POST"> 
    Inicio: <input type="text" id="start" name="start"> 
    <input type="submit" value="Sned" > 
    {% csrf_token %} 
</form> 

또한 당신이보기에 다음과 같이 변경을하는 것이 좋습니다 None 값이 다시 할당됩니다.

+0

대단히 감사합니다 – Alexev

+0

그것이 도움이된다면 내 기쁨, 내 대답을 upvote하시기 바랍니다. –

관련 문제