2010-08-19 57 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