django rediriger vers la vue

J'ai une vue dans laquelle je veux faire des choses, puis rediriger vers une autre vue avec un message de succès. La signature de la méthode vers laquelle je veux rediriger est

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

Et ma tentative de redirection vers cette vue ressemble à ceci:

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

J'ai essayé la plupart des combinaisons de paramaters nommés et non nommés et je ne peux pas l'obtenir pour faire ce que je veux. Est-il un moyen de faire ce travail?

En outre, j'ai essayé de retourner la deuxième vue avec la première mais ensuite la L'URL est toujours là où elle était dans l'ancienne vue au lieu d'apparaître comme si elle avait été redirigée.

Merci!

23
demandé sur user1056805 2012-11-11 09:20:59

3 réponses

Vous n'avez pas donné de nom à votre URL, vous devez donc utiliser tout le chemin d'accès à la fonction view. De plus, cette URL ne prend pas les paramètres errorMessage ou successMessage, donc les mettre dans l'appel reverse échouera. C'est ce que vous voulez:

return redirect('quizzes.views.quizView', quizNumber=quizNumber)
33
répondu Daniel Roseman 2012-11-11 15:19:18

Pouvez-vous essayer de l'exemple 2 dans https://docs.djangoproject.com/en/dev/topics/http/shortcuts/#redirect

  • Assurez-vous qu'il fait le 'inverse' sur la vue donnée.
  • Le nom de votre vue doit être placé entre guillemets simples /
4
répondu Sivasubramaniam Arunachalam 2012-11-11 05:36:32

Vous devriez vous référer à ceci https://docs.djangoproject.com/en/1.11/topics/http/shortcuts/#redirect

Pour rediriger la vue intérieure. C'est très facile soit vous redirigez en utilisant la création d'une url pour la vue ou appelez à l'intérieur de la vue aussi.

-1
répondu Mayank Pratap Singh 2017-02-05 07:14:45