2015-07-04 18 views
0

這是視圖功能:在django中,如何使用複選框從HTML表中獲取記錄?

def main_view(request): 
    x=request.POST.getlist('checks') 
    print x 

    return render(request, 'main.html') 

這是main.html中

<form role="form" action="/main/" method="post">{% csrf_token %} 
    <table class="table"> 
    <thead> 
     <tr> 
     <th>Heading 1</th> 
     <th>Heading 2</th> 
     <th>Heading 3</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr class="success"> 
     <td><input type="checkbox" name="checks" id="1" />data11</td> 
     <td>data12</td> 
     <td>data13</td> 
     </tr> 
     <tr class="success"> 
     <td><input type="checkbox" name="checks" id="1" />data21</td> 
     <td>data22</td> 
     <td>data23</td> 
     </tr> 
     <tr class="success"> 
     <td><input type="checkbox" name="checks" id="1" />data31</td> 
     <td>data32</td> 
     <td>data33</td> 
     </tr> 
    </tbody> 
    </table> 
    <button type="submit" class="btn btn-default btn-success pull-right">Remove</button> 
</form> 

當我運行應用程序,在控制檯上打印語句的輸出(在main_view)是

[u'on', u'on'] 

基本上,我想要做的是,用戶應該能夠從HTML表中選擇條目,當他/她點擊「刪除」按鈕時,應該刪除條目。我不知道如何從我的視圖中獲取有關請求對象中選定條目的信息。我認爲如何處理這個問題?

回答

4

你需要給你的複選框一個value屬性對應的記錄的ID。

<td><input type="checkbox" name="checks" id="1" value="data31" />data31</td> 

注意一)可讀的值應該是一個label,以提高可訪問性,和b)你可能要同時輸出值和從記錄本身就是一個模板變量標籤。

+0

是的,這工作!現在我可以在列表中看到[「data11」,「data31」]等等,而不是[「on」,「on」]。這正是我想要的。非常感謝丹尼爾:) –

相關問題