我有一个添加和编辑Meeting
对象的视图,我将在保存Meeting
对象后显示该对象的参与者列表,如何返回参与者列表HttpResponseRedirect
?我认为不可能通过query string
发送大量对象!
views.py
中的
def addMeeting(request,meeting_id=None):
message=u''
participants=Participant.objects.filter(meeting__id=meeting_id)
if request.GET.get('save'):
message='your recorded was registered'
if meeting_id:
meeting_instance=Meeting.objects.get(pk=meeting_id)
else:
meeting_instance=Meeting()
if request.method=='POST':
meetingform=MeetingForm(request.POST,instance=meeting_instance)
if meetingform.is_valid():
meeting=meetingform.save()
meeting.save()
redirect_url=reverse('MeetingManagerHub.views.addMeeting', args=[meeting.pk])
return HttpResponseRedirect(redirect_url+'?save=True')
else:
meetingform=MeetingForm(instance=meeting_instance)
return render_to_response('MeetingHub/addmeeting.html', {'meetingform': meetingform,'message':message},context_instance=RequestContext(request))
urls.py
中的
(r'^meeting/add/$','MeetingManagerHub.views.addMeeting'),
(r'^meeting/add/(?P<meeting_id>\d+)/$','MeetingManagerHub.views.addMeeting'),
我googled很多,最后发现HttpResponseRedirect只是将我们重定向到一个新地址,但不能与context
一起使用!
我该怎么做?
答案 0 :(得分:3)
这是一个秘密。重定向应指向获取会议和参与者的视图。
通常,这是一个简单的视图函数,可以处理简单的GET请求并返回会议和参与者列表。
如果您要重定向回此addMeeting
视图功能,则GET处理需要查询会议和参与者。
这意味着render_to_response
必须包括会议和参与者。
return render_to_response('MeetingHub/addmeeting.html',
{'meetingform': meetingform, 'message':message,
'meeting': meeting, 'participants': participants,
#... and anything else that might be helpful to show on the page
},
context_instance=RequestContext(request))