Django教程-表单验证
Django 提供内置方法来自动验证表单数据。仅当 Django 表单包含 CSRF 令牌时才会提交。它使用一种干净且简单的方法来验证数据。
is_valid ()方法用于对表单的每个字段执行验证,它在 Django Form 类中定义。如果数据有效,则返回 True 并将所有数据放入 clean_data 属性中。
让我们看一个接受用户输入并验证输入的示例。
Django 验证示例
此示例包含以下文件和代码。
// 模型.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"
现在,创建一个包含以下代码的表单。
// 表单.py
from django import formsfrom myapp.models import Employeeclass EmployeeForm(forms.ModelForm):class Meta:model = Employeefields = "__all__"
👉点击领取:最全Python资料合集
实例化表单
实例化表单,检查请求是否已发布。它使用is_valid()方法验证数据。
//视图.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})
显示表单和错误的索引模板。
// 索引.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>
启动服务器并访问表单。
它验证每个字段并在任何验证失败时抛出错误。