8
votes

Django Formulaire Messages d'erreur ne montrant pas

J'ai donc mon point de vue:

    {% if form.errors %}
        {% for field in form %}
        {% for error in field.errors %}
            <p> {{ errors }} </p>
        {% endfor %}
        {% endfor %}
    {% endif %}


5 commentaires

Pouvez-vous réparer l'indentation dans votre méthode de vue et montrer exactement comment votre code de vue a l'air?


whoops, d'accord là-bas, juste la corriger.


Vérifiez également à l'intérieur {{form.non_field_errors}} . Mettez-le à l'extérieur {% si form.Errors%} . exemple .


Hm ok je supprimai complètement le {{formulaires.non_field_errors}} complètement et cela ne fonctionne toujours pas. J'ai mis à jour le poste et j'ai montré ce que j'ai essayé.


@ user2719875 Supprimer ce n'était pas ce que je voulais dire, mais bon de voir que c'est résolu. Remettre les erreurs non-champs cependant. Remettez-le à l'extérieur du bloc IF. Pourrait venir utile.


4 Réponses :


8
votes

J'ai trouvé l'erreur (TYPO).

Le snippet doit être: xxx

i eu des erreurs au lieu de .


0 commentaires

3
votes

Vous devez envoyer à nouveau votre formulaire contexte si IS_VALID () n'est pas vrai, xxx

car vos erreurs s'afficheront dans votre formulaire sinon: il retournera ValueError


0 commentaires

0
votes

La capture d'erreur peut très bien avoir été faite avec:

{% for field in form %}
    {{ field.errors }}
{% endfor %}


0 commentaires

3
votes

Ajouter ces extraits dans Views.py Like Ceci

if request.method == "POST":
    fm = UserRegsitrationForm(request.POST)
    if fm.is_valid():
        fm.save()

    else:
        fm = UserRegsitrationForm()
    context = {'fm':fm}
    return render(request,'registration.html',context)


2 commentaires

S'il vous plaît expliquer ce que votre code fait et comment cela le fait.


Si votre formulaire est valide, il suffira d'enregistrer le formulaire sinon il ira à la pièce d'essai et au formulaire de retour avec des erreurs.