Python技术迷

Django教程-表单验证

整理:python架构师

Django 提供内置方法来自动验证表单数据。仅当 Django 表单包含 CSRF 令牌时才会提交。它使用一种干净且简单的方法来验证数据。

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

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

Django 验证示例

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

// 模型.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"  

现在,创建一个包含以下代码的表单。

// 表单.py

from django import forms  from myapp.models import Employee  class EmployeeForm(forms.ModelForm):      class Meta:          model = Employee          fields = "__all__"  

专属福利 

👉点击领取:最全Python资料合集

实例化表单

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

//视图.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})

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

// 索引.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>  

启动服务器并访问表单。

Image

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

Image

Image
 1
Image
热门推荐

Image