2009-12-27 49 views
0

我有帶來一個模板,它允許要觀看的模型實例的字段URLPATTERN:傳遞一個值到一個HttpResponse請求

(r'^display/(?P<id>\w+)/', display_record), 

我也有一個視圖函數,其允許單個實例是編輯。當對象被保存,它只是返回到相同的模板:

if form.is_valid(): 
     form.save() 
     return HttpResponseRedirect('/') 

保存後,我怎麼回顯示模板,而不是刷新了同樣的觀點? 代碼看起來像下面,但我需要一種方法來傳遞對象「ID」的請求的HttpResponse:

def edit_record(request, id): 
     if request.method == 'POST': 
       a=ProjectRecord.objects.get(pk=id) 
       form = RecordForm(request.POST, instance=a) 
       if form.is_valid(): 
         form.save() 
         return HttpResponseRedirect**('/display/(?P<id>\w+)/')** 
     else: 
       a=ProjectRecord.objects.get(pk=id) 
       form = RecordForm(instance=a) 
     return render_to_response('productionModulewire.html', {'form': form}) 

回答

6

你過於複雜的事情。你已經知道這個ID是什麼,爲什麼你不能把它放回到URL?

return HttpResponseRedirect('/display/%s/' % id) 

,或者更好,因爲它不配合你特定的硬編碼的URL:

return HttpResponseRedirect(reverse('edit_record', kwargs={'id':id})) 
+0

感謝丹尼爾。這就是我想要做的。不知道正確的語法。再次感謝。 – kjarsenal 2009-12-27 20:21:56

+0

這不適用於我,我不知道爲什麼。這是我的: – ThatAintWorking 2012-04-19 16:03:14

相關問題