django redirect to view
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/
user1056805
Updated on July 20, 2022Comments
-
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!