Wie umleiten zu einer anderen Ansicht nach der Verarbeitung eine form bekommen NoReverseMatch Fehler

Ich mache eine blog-app, und ich will redirect auf eine andere andere url nach verarbeitet habe ich die form, wie die unten gegebene Ansicht nicht funktioniert. Ich bin nicht in der Lage, weder HttpResponseRedirect noch einfach umleiten

@login_required
def blog_form(request,author_id=None,slug=None):

    context_instance=RequestContext(request)

    # This view will have a valid creator_id and slug field if the
    # blog is being edited and in this case the creator and user should be same
    if ( author_id and slug):
        author = User.objects.get(pk=author_id)
        blog = get_object_or_404(Entry, creator = author, slug = slug)
        if blog.creator != request.user:
            raise HttpResponseForbidden()

    # We set the user and created date and make a new object
    else:
        blog = Entry(creator=request.user,created_date=datetime.datetime.now() )

    if request.method == 'POST':

        #if the blog is not published
        if 'save' in request.POST:
            form = EntryForm(request.POST, instance = blog)
            if form.is_valid():
                form.save()

        elif 'publish' in request.POST:
            blog.pub_date = datetime.datetime.now()
            blog.status = 1
            form = EntryForm(request.POST, instance = blog)
            if form.is_valid():
                form.save()
                #return HttpResponseRedirect ('view_blog', (),{'author_id':blog.creator.id,'slug' :blog.slug,})
                return redirect ('blogs', blog.creator.id, blog.slug)
                #return render_to_response('blog/blog_view.html', {'blog': blog,},context_instance=RequestContext(request))

        elif 'preview' in request.POST: 
            form = EntryForm(request.POST, instance = blog)
            if form.is_valid():
                form.save()
                return render_to_response('blog/blog_view.html', {'blog': blog,},context_instance=RequestContext(request))

    else:
        form = EntryForm(instance = blog)

    return render_to_response('blog/blog.html', {'form':form}, context_instance)

Allerdings, wenn ich gerade render_to_response dann funktioniert es einwandfrei, aber das ändert nicht die url an der Spitze. Was ich will ist, leiten Sie den Benutzer auf eine neue Seite nach der Veröffentlichung der post und ich möchten, ändern Sie die url an der Spitze auch.

InformationsquelleAutor Sachin | 2011-12-07
Schreibe einen Kommentar