📜  Django表单验证

📅  最后修改于: 2020-12-31 00:41:09             🧑  作者: Mango

Django表单验证

Django提供了内置方法来自动验证表单数据。 Django表单仅在包含CSRF令牌时提交。它使用一种简洁的方法来验证数据。

is_valid()方法用于对表单的每个字段执行验证,该方法在Django Form类中定义。如果数据有效,则返回True并将所有数据放入cleaned_data属性。

让我们看一个接受用户输入并同时验证输入的示例。

Django验证示例

本示例包含以下文件和代码。

// models.py

from django.db import models
class 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 forms
from myapp.models import Employee

class EmployeeForm(forms.ModelForm):
    class Meta:
        model = Employee
        fields = "__all__"

实例化表格

实例化表单,检查请求是否已发布。它使用is_valid()方法验证数据。

//views.py

def emp(request):
    if request.method == "POST":
        form = EmployeeForm(request.POST)
        if form.is_valid():
            try:
                return redirect('/')
            except:
                pass
    else:
        form = EmployeeForm()
    return render(request,'index.html',{'form':form})

显示表单和错误的索引模板。

// index.html




    
    Index


{% csrf_token %} {{ form.as_p }}

启动服务器并访问该表单。

它验证每个字段并在验证失败时抛出错误。