django redirect to view

57,994

Solution 1

You haven't given your URL a name, so you need to use the whole path to the view function. Plus, that URL doesn't take errorMessage or successMessage parameters, so putting them into the reverse call will fail. This is what you want:

return redirect('quizzes.views.quizView', quizNumber=quizNumber)

Solution 2

Can you try example 2 given in https://docs.djangoproject.com/en/dev/topics/http/shortcuts/#redirect

  • Make sure that it does the 'reverse' on the given view.
  • Your view name should be wrapped in single quotes/
Share:
57,994
user1056805
Author by

user1056805

Updated on July 20, 2022

Comments

  • user1056805
    user1056805 almost 2 years

    I have one view that I want to do some stuff in and then redirect to another view with a success message. The signature of the method that I want to redirect to is

    quizView(request, quizNumber, errorMessage=None, successMessage=None): 
    

    and my attempt at redirecting to that view looks like this:

    return redirect(quizView, quizNumber=quizNumber, errorMessage=None, successMessage="Success!")
    

    I've tried most every combination of named and un-named paramaters and I can't get it to do what I want. Is there a way to make this work?

    Also, I tried just returning the the second view with the first but then the URL is still where it was in the old view instead of appearing as though it has redirected.

    Thanks!