2016-02-26 45 views
0

我試圖在Django中實現一個單一字段的形式。目標是將一個整型變量(計數器)傳遞給views.py文件。該模板是完全自定義的,變量「計數器」的值顯示在屏幕上,同時可以使用兩個按鈕增加/減少該值。Django的基本形式 - 從views.py讀取一個變量

我無法設法從我的views.py文件中讀取這個變量,並且我不知道我在做什麼錯誤。這是我做了什麼:

模板文件:

<form method="POST" action="{% url 'animo' ejercicio=ejercicio %}">{% csrf_token %} 

      <p class="mensaje">{{pregunta_valoracion}}</p> 
      <div id="contadormin"> 

       <input type="button" id="number-change-button" value="-" onclick="subtract()" name="counter"/> 

       <div id="minutos"> 
        <p id="counter">0 {{unidad}}</p> 
       </div><script> 
        var i = 0; 
        var uni = {{unidad}}; 

        function add() { 

        document.getElementById('counter').value = ++i; 
        document.getElementById('counter').innerHTML = i; 
        } 
        function subtract() { 
         if (i> 0){ 

        document.getElementById('counter').value = --i; 
        document.getElementById('counter').innerHTML = i; 
         } 
        } 
       </script> 
       <input type="button" id="number-change-button" value="+" onclick="add()" name="counter" /> 
      </div> 

      <input type="submit" class="save btn btn-default" value= "HECHO"</input> 
     </form> 

瀏覽文件:

if request.method == 'POST': 

    veces = request.POST.get('counter', '') 

任何想法?

回答

1

模板中name =「counter」的唯一項目是+和 - 按鈕。您實際上沒有包含計數器值的字段,因此無法在表單中提交它。

從這些按鈕中刪除「計數器」名稱,而不是將計數器值放入<p>元素中,而是將其放入<input name="counter">

+0

感謝丹尼爾,是的,你是對的,使用「輸入」字段它的作品...但我的模板不再是一樣的。我不想在它上面有一個共同的輸入框,而是一個黑色的屏幕,其值爲「counter」和兩個按鈕來增加/減少它的值(這就是爲什麼我理解這些是「輸入」字段...) 。沒有任何方法可以在不使用輸入框的情況下「讀取」計數器的值? –

+0

然後使用一個隱藏的輸入,讓你的JS更新文本和輸入。 –

+0

這是有效的!非常感謝你!! –