#python #django
Вопрос:
Я пытаюсь добавить проверку в свои представления, но сообщение об ошибке не отображается в моем шаблоне. Я получаю эту страницу, если пользователь вводит неверный ввод:
views.py
from django import forms
from django.core.exceptions import ValidationError
if request.method == "POST":
if comment_form.is_valid():
if request.POST['name'] != username:
raise forms.ValidationError('inc')
Этот код предотвращает отправку моих форм до тех пор, пока пользователь не введет правильные данные, что замечательно, но почему сообщение об ошибке проверки не отображается в шаблоне?
Комментарии:
1. Покажите нам код шаблона, а также полный метод в вашем views.py
2. Я не думаю, что мне нужно добавлять полный код, потому что проблема возникает для вышеуказанного кода, который я написал.
3. Попробуйте form.add_error(«Неправильное совпадение имени пользователя») внутри вашего блока if. Причина, по которой я хотел увидеть метод в views.py это чтобы увидеть, как вы возвращаете свой шаблон. И код шаблона, чтобы увидеть, как вы показываете предупреждение-{ошибки}.
4. @incrediblegiant мой views.py код очень длинный. вот ссылка на Google диск drive.google.com/file/d/1wk7mJcGFM-KdsJW24-QtqZS_Vfjmyp1h/…
5. Ну, я бы предложил использовать представления на основе классов и методы form_valid. Они намного чище и суше. Фрагмент кода, которым вы поделились, не содержит вышеуказанного фрагмента (поднимите формы. Ошибка проверки). Из того, что является общим, попробуйте вернуть свою форму таким образом {форма:форма} в инструкции рендеринга вместе с именем шаблона. Таким образом, ваш шаблон будет иметь доступ к форме.ошибки