kja*_*nal 0 django django-views
我有一个urlpattern,它带来了一个模板,允许查看模型实例的字段:
(r'^display/(?P<id>\w+)/', display_record),
Run Code Online (Sandbox Code Playgroud)
我还有一个视图功能,允许编辑单个实例.保存对象后,它只返回到同一个模板:
if form.is_valid():
form.save()
return HttpResponseRedirect('/')
Run Code Online (Sandbox Code Playgroud)
保存后,如何刷新显示模板,而不是刷新相同的视图?代码看起来像下面这样但我需要一种方法将对象"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})
Run Code Online (Sandbox Code Playgroud)
你的事情太复杂了.你已经知道ID是什么了,为什么你不能把它放回到URL中?
return HttpResponseRedirect('/display/%s/' % id)
Run Code Online (Sandbox Code Playgroud)
或者更好,因为它不会将您绑定到特定的硬编码URL:
return HttpResponseRedirect(reverse('edit_record', kwargs={'id':id}))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2494 次 |
| 最近记录: |