Django通过提交按钮将模板传递参数从模板传递到视图

时间:2010-08-20 06:33:29

标签: django django-templates django-forms

当我点击提交按钮时,我想传递一个参数。

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

1 个答案:

答案 0 :(得分:0)

run.build中有什么?

首先,您可以将其设为输入隐藏字段(除了显示您已经显示它的方式),因此,该值将出现在request.POST中。

您也可以将其作为网址的一部分。但可能不适合你的情况。