Django提供了内置方法来自动验证表单数据。 Django表单仅在包含CSRF令牌时提交。它使用一种简洁的方法来验证数据。
is_valid()方法用于对表单的每个字段执行验证, 该方法在Django Form类中定义。如果数据有效, 则返回True, 并将所有数据放入cleaned_data属性。
让我们看一个接受用户输入并验证输入的示例。
Django验证示例
本示例包含以下文件和代码。
// models.py
from django.db import modelsclass Employee(models.Model):eid = models.CharField(max_length=20)ename = models.CharField(max_length=100)econtact = models.CharField(max_length=15)class Meta:db_table = "employee"
现在, 创建一个包含以下代码的表单。
// forms.py
from django import formsfrom myapp.models import Employeeclass EmployeeForm(forms.ModelForm):class Meta:model = Employeefields = "__all__"
实例化表格 实例化表单, 检查请求是否已发布。它使用is_valid()方法验证数据。
//views.py
def emp(request):if request.method == "POST":form = EmployeeForm(request.POST)if form.is_valid():try:return redirect('/')except:passelse:form = EmployeeForm()return render(request, 'index.html', {'form':form})
显示表单和错误的索引模板。
// index.html
<
!DOCTYPE html>
<
html lang="en">
<
head>
<
meta charset="UTF-8">
<
title>
Index<
/title>
<
/head>
<
body>
<
form method="POST" class="post-form" enctype="multipart/form-data">
{% csrf_token %}{{ form.as_p }}<
button type="submit" class="save btn btn-default">
Save<
/button>
<
/form>
<
/body>
<
/html>
启动服务器并访问该表单。
【Django表单验证】它验证每个字段并在验证失败时引发错误。
推荐阅读
- Django表单
- Django文件上传
- Django的功能
- Django异常示例
- Django部署到Github
- Django管理员
- Django数据库迁移
- Django数据库连接
- 使用Django创建CSV