comment envoyer de message de succès si nous utilisons django générique vues
Je suis nouveau sur django (1.2.4). J'ai créé quelques crud avec des génériques de vues. Mais Comment puis-je montrer quelque chose comme "L'étudiant a été ajouté avec succès" lorsque l'étudiant est créé à l'aide de django reinhardt, de la messagerie cadre?
Vous devez vous connecter pour publier un commentaire.
Autant que je sache, il n'y a pas de moyen simple de le faire à l'aide du traditionnel générique point de vue. J'ai toujours senti que la documentation sur les points de vue était assez défaut et n'est jamais utilisé.
En théorie, vous pourriez utiliser un décorateur en faisant l'hypothèse qu'une redirection signifie une soumission réussie.
De sorte que vous pourriez écrire quelque chose comme ceci (ce code a été testé):
urls.py:
Tout ce que dit et codé, Django 1.3 introduit classe générique vues, donc si vous êtes intéressés à aller sur Django 1.3 vous devriez regarder dans ceux. Ils peuvent aussi permettre plus de personnalisation, pas sûr.
Dans le long terme, je vois rarement les de bénéficier de l'utilisation de générique vues, et cela va double pour des choses comme ajouter/mettre à jour.
De Django 1.6+, à l'aide de tout basé sur une classe générique vues, vous pouvez compter sur l' successMessageMixin. C'est aussi simple que l'ajout d'un mixin à la définition de votre classe et de réglage
success_message
attribut de ce que vous voulez.Olivier Verdier mentionné, n'oubliez pas de messages de l'écran dans votre template principal!
un exemple simple de la docs:
un exemple plus complexe:
La fonctionnalité que vous demandez est déjà mis en œuvre dans Django générique vues:
https://github.com/django/django/blob/1.2.X/django/views/generic/create_update.py#L115
Vous verrez les messages par l'affichage des messages dans votre template principal.
En fait, je pense que les documents de l'expliquer assez bien pour générique/fonction des vues basées sur les:
https://docs.djangoproject.com/en/2.0/ref/contrib/messages/
Fondamentalement, ça passe contexte de votre modèle avec une instruction if pour afficher ce contexte ou non.
Vue:
Et puis, il sera affiché dans votre modèle à l'aide de la suite. Rappelez-vous que l'itération '...parce que sinon, le message de stockage ne sera pas effacé la demande suivante':
Qu'il rend à nouveau la page juste ajouter une balise d'ancrage de votre formulaire et le joindre à votre formulaire d'action c'est à dire
Si vous êtes en utilisant bootstrap ajouter une classe
alert-success