【发布时间】:2020-05-02 18:27:17
【问题描述】:
从 django 导入表单 从 django.core 导入验证器
class FormName(forms.Form):
name = forms.CharField()
email = forms.EmailField()
verify_email = forms.EmailField(label = "enter your email Again")
text = forms.CharField(widget = forms.Textarea)
def clean(self):
all_clean_data = super().clean()
email = all_clean_data['email']
vmail = all_clean_data['verify_email']
if email != vmail:
raise forms.ValidationError("Error i Email matching")
views.py
from django.shortcuts import render
from . import form
# Create your views here.
def index(request):
return render(request,'basicapp/index.html')
def form_name_view(request):
forms = form.FormName()
if request.method == "POST":
formObject = form.FormName(request.POST)
if formObject.is_valid():
print("Sucess!!!!!")
print(formObject.cleaned_data['name'])
print(formObject.cleaned_data['email'])
print(formObject.cleaned_data['text'])
return render(request,'basicapp/form_page.html',{'form':forms})
form_page.html
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Forms</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
</head>
<body>
<div class = "container">
<h1>Fill out the form</h1>
<form method="POST">
{{form.as_p}}
{% csrf_token %}
<input type="submit" class="btn btn-primary" value = "Submit">
</form>
</div>
</body>
</html>
我不确定我错过了什么,
我已经做了所有的事情并且做了足够的研究,但是找不到解决方案。
我是否因为 django 的版本控制而遗漏了什么。
我正在学习一门 udemy 课程,但没有得到回应,那就是我在这里发帖。
提前致谢
【问题讨论】:
-
你的
clean()方法在执行过程中被调用了吗? -
@ArakkalAbu 是的,我用打印检查过。它的工作两封电子邮件不匹配,但模板中没有验证错误
-
views.py 中返回渲染方法有什么问题吗,
标签: python django django-templates