Django 上传后如何重定向到“/summary/1/”(/summary/saved object id/)

Django 上传后如何重定向到“/summary/1/”(/summary/saved object id/),django,Django,上传后如何重定向到/summary/1/(/summary/saved object id/)一种方法是 def upload(request): user = request.user upload_form = UploadForm(request.POST or None, request.FILES or None) if request.method == "POST": if upload_form.is

上传后如何重定向到
/summary/1/
(/summary/saved object id/)

一种方法是

def upload(request):
        user = request.user
        upload_form = UploadForm(request.POST or None, request.FILES or None)
        if request.method == "POST":
                if upload_form.is_valid():
                        my_model = upload_form.save(commit=False)
                        my_model.user = user
                        print my_model.src
                        my_model.save()
                        return render_to_response('index.html',, context_instance=RequestContext(request))

        return render_to_response('index.html', {'upload_form': upload_form}, context_instance=RequestContext(request))
更好的变体是

return HttpResponseRedirect('/summary/'+id)
最好的变体是(这样您就不必在视图中硬编码URL)

如果你想用

return HttpResponseRedirect(reverse(yourViewNameHere, args=[id]))
一种方法是

def upload(request):
        user = request.user
        upload_form = UploadForm(request.POST or None, request.FILES or None)
        if request.method == "POST":
                if upload_form.is_valid():
                        my_model = upload_form.save(commit=False)
                        my_model.user = user
                        print my_model.src
                        my_model.save()
                        return render_to_response('index.html',, context_instance=RequestContext(request))

        return render_to_response('index.html', {'upload_form': upload_form}, context_instance=RequestContext(request))
更好的变体是

return HttpResponseRedirect('/summary/'+id)
最好的变体是(这样您就不必在视图中硬编码URL)

如果你想用

return HttpResponseRedirect(reverse(yourViewNameHere, args=[id]))
进口

然后

进口

然后

return HttpResponseRedirect('/summary/%s/' %object_id)