2010-08-20 83 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