Ошибки валидации Django не отображаются [дубликат]
Итак, я изучал Django по учебнику и наткнулся на валидацию формы. В версии учебника при неудачной валидации на экране всплывали ошибки, но на моей форме ничего не появлялось.
Вот мой файл forms.py.
from django import forms
from django.core import validators
def check_for_z(value):
if value[0].lower() != 'z':
raise forms.ValidationError('Name should start with z')
class FormName(forms.Form):
name = forms.CharField(validators = [check_for_z])
email =forms.EmailField()
text = forms.CharField(widget=forms.Textarea)
Вот мой файл views.py.
from django.shortcuts import render
from myformapp import forms
def form_name_view(request):
form = forms.FormName()
if request.method == 'POST':
filled_form = forms.FormName(request.POST)
if filled_form.is_valid():
# print the form data to terminal
print("Validation success")
print('Name: ' + filled_form.cleaned_data['name'])
print('Email: ' + filled_form.cleaned_data['email'])
print('Text: ' + filled_form.cleaned_data['text'])
return render(request, 'myformapp/formpage.html', {'form' : form})
А это мой шаблон для страницы.
<!DOCTYPE html>
{% load static %}
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Form Page</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.4.1/dist/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
</head>
<body>
<div class="container">
<form method="post">
{{form.as_p}}
{% csrf_token %}
<input type="submit" class="btn btn-primary" value="Submit">
</form>
</div>
</body>
</html>
Всякий раз, когда я ввожу имя, не начинающееся на z, я должен получить исключение на экране, но ничего не появляется. Мой код очень похож на то, что преподаватель показывает на своей машине. Может ли кто-нибудь направить меня в правильном направлении, что я делаю не так. Спасибо