required – Django表格字段验证

required – Django表格字段验证

Django表单中的内置表单字段验证是所有字段预定义的默认验证。每个字段都有一些来自Django验证器的内置验证。每个字段类的构造函数都需要一些固定的参数。有些字段类需要额外的、特定于字段的参数,但需要的参数应该总是被接受的。

required通常被用来使字段成为可选项,即用户不再需要在该字段中输入数据,但它仍然会被接受。让我们看看如何在一个项目中使用用户必填字段。

语法

field_name = models.Field(option = value)
Python

Django 表单字段验证需要解释

用一个例子来说明所需的内容。考虑一个名为geeksforgeeks的项目,有一个名为geeks的应用程序。

在geeks应用程序的forms.py文件中输入以下代码。我们将使用CharField对所有字段选项进行实验。

from django import forms
  
class GeeksForm(forms.Form):
    geeks_field = forms.CharField(required = False)
Python

在INSTALLED_APPS中增加geek的应用程序。

# Application definition
  
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'geeks',
]
Python

现在要把这个表单渲染成一个视图,我们需要一个视图和一个映射到该视图的URL。让我们先在geeks应用程序的views.py中创建一个视图。

from django.shortcuts import render
from .forms import GeeksForm
  
# Create your views here.
def home_view(request):
    context = {}
    form = GeeksForm(request.POST or None)
    context['form'] = form
    if request.POST:
        if form.is_valid():
            temp = form.cleaned_data.get("geeks_field")
            print(temp)
    return render(request, "home.html", context)
Python

在这里,我们从forms.py中导入那个特定的表单,并在视图中创建一个对象,这样它就可以在模板中呈现。
现在,要启动一个Django表单,你需要创建home.html,在那里人们可以随意设计东西。让我们在home.html中创建一个表单。

<form method = "POST">
    {% csrf_token %}
    {{ form }}
    <input type = "submit" value = "Submit">
</form>
Python

最后,在urls.py中提供一个URL来映射到这个视图

from django.urls import path
  
# importing views from views..py
from .views import home_view
  
URLpatterns = [
    path('', home_view ),
]
Python

让我们运行服务器并检查实际发生了什么,运行

Python manage.py runserver
Python

required - Django表格字段验证

因此,通过将”_”替换为””来创建一个geeks_field CharField。

如何在Django表单字段中使用required

required通常用于使字段成为可选项,即用户不再需要在该字段中输入数据,但它仍会被接受。让我们看看如何在一个项目的字段中使用required。当设置为一个特定的值时,所使用的选项会按照开发者的要求对字段附加一些验证。

让我们尝试通过我们创建的Django Web应用程序使用required,访问http://localhost:8000/,并尝试根据选项或应用于字段的验证来输入值。点击提交。

required - Django表格字段验证

因此,即使geeks_field中没有任何数据,Field也会接受该表单。这使得required=False成功实现。

更多内置表单验证

字段选项 描述
required 默认情况下,每个字段类都假定值是必填的,所以要使它不是必填的,你需要设置required=False。
label 标签参数让你为这个字段指定 “人性化 “的标签。当字段在表格中显示时,这将被使用。
label_suffix label_suffix参数让你在每个字段的基础上覆盖表单的label_suffix。
widget widget参数让你指定一个Widget类,以便在渲染这个字段时使用。更多信息请参见Widget。
help_text help_text参数让你为这个字段指定描述性文本。如果你提供了help_text,当字段被一个方便的表格方法呈现时,它将会显示在字段的旁边。
error_messages error_messages参数让你覆盖字段将产生的默认信息。传入一个字典,其键值与你想覆盖的错误信息相匹配。
validators validators参数让你为这个字段提供一个验证函数的列表。
localize 本地化参数可以实现表单数据输入的本地化,也可以实现渲染输出的本地化。
disabled disabled布尔参数,当设置为True时,使用disabled HTML属性禁用一个表单字段,这样它就不会被用户编辑。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册