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!
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)
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 /
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.