2010-08-20 81 views
0

我想傳遞一個參數,當我點擊提交按鈕。Django窗體從模板傳參數到提交按鈕查看

urls.py

urlpatterns = patterns('', 
    (r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}), 
    (r'^home/$', 'views.home'), 
    (r'^home/(?P<build>[^/]+)/$', 'views.run'), 
    (r'^run/delete/$', 'views.runDelete') 
) 

run.html

<form name="form" method="post" action="/run/delete"> 
<input type="submit" value="Delete" style="margin-left:149px; width:80px; height:30px"> 
<table border="1"; borderColor=black> 
<td></td> 
<td><b>Run</b></td> 
    {% for run in run_list %} 
     <tr> 
     <td>{{run.build}}</td> 
     <td><input type="checkbox" name="var_delete" value="{{run.id}}"></td> 
     <td>{{run.name}}</td> 
     </tr> 
    {% endfor %} 
    </table> 
    </form> 

views.py

def run(request, build): 
    run_list = TestRun.objects.all().order_by('id') 
    return render_to_response('run.html', {'run_list': run_list}) 

def runDelete(request): 
    run_list = request.POST.getlist('var_delete') 
    for run in run_list: 
     run = int(run) 
     TestRun.objects.get(id=run).delete() 
    return render_to_response('???') 

我想表明新run.html,但我怎麼能通run.build作爲runDelete的參數? 感謝:D

回答

0

run.build中存在什麼?

其中之一,你可以使它成爲一個輸入隱藏字段(除了顯示你已經如何顯示它),所以,值將存在於request.POST。

您也可以將其設爲網址的一部分。但可能不適合你的情況。

+0

如何編寫輸入隱藏字段? – LoveTW 2010-08-20 06:42:44

+2

,從views.run傳遞'build'作爲模板參數 – Ashok 2010-08-20 06:58:07

+0

非常感謝:D – LoveTW 2010-08-23 01:28:53