2010-08-19 68 views
2

我想删除我选择的记录,并且run.html会刷新,我该怎么做? 由于我使用功能运行在views.py发送的数据库记录,并运行需要一个参数构建可以通过使用run.name可以得到的,所以我想我需要通过“run.name”和“run.id”当我点击提交按钮。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><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, id, build): 
    TestRun.objects.get(id=id).delete() 
    run() 

我也想问问,如果我在run.html选择多个记录,我是否应该在runDelete中写一个forloop来删除它们?

感谢:d

回答

1

你一定要看看Django的Form

+0

的感谢!但是我怎么能得到两个参数? 通过使用后,我可以得到所选的复选框列表,但我没有理想如何获得构建名称... – LoveTW 2010-08-20 03:02:40

+0

首先,为什么你需要构建?我没有看到你的用法?如果它是一个全局参数,请将它添加到url“/ run/delete/ /”(看看{%url%}作品 你需要什么两个参数?run.id和run。名称?为什么不从r = TestRun.objects.get(id = id)并使用r.name? – 2010-08-20 09:16:37

+0

谢谢大家〜 – LoveTW 2010-08-23 08:25:11

相关问题