在 Django 4.0 中,表单有两个主要角色:
1. 表单类(Form Class): 表单类是定义表单结构和行为的地方。通过继承 Django 提供的 django.forms.Form 类,你可以定义表单的字段、验证规则等。每个字段对应于表单中的一个输入项。
下面是一个简单的 Django 表单类的示例:
from django import forms
class MyForm(forms.Form):
username = forms.CharField(max_length=100, required=True)
email = forms.EmailField(required=True)
password = forms.CharField(widget=forms.PasswordInput, required=True)
在上述示例中,MyForm 类定义了三个字段:username、email 和 password,分别用于接收用户名、邮箱和密码。
2. 表单实例(Form Instance): 表单实例是表单类的具体实例,用于处理用户提交的数据。你可以在视图中创建表单实例,并根据用户的请求对其进行处理。
下面是在视图中使用表单的简单示例:
from django.shortcuts import render
from .forms import MyForm
def my_view(request):
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
# 处理有效的表单数据
username = form.cleaned_data['username']
email = form.cleaned_data['email']
password = form.cleaned_data['password']
# 进行进一步的处理...
else:
form = MyForm()
return render(request, 'my_template.html', {'form': form})
在上述示例中,当用户提交表单时,我们通过 request.POST 创建了表单实例 form。通过调用 is_valid 方法,我们可以检查用户提交的数据是否有效。如果有效,可以通过 cleaned_data 属性获取经过验证的数据。
这两个角色协同工作,使得在 Django 中处理用户输入变得非常简单。你可以根据实际需求自定义表单,添加字段、验证规则等,以满足应用程序的具体需求。
转载请注明出处:http://www.pingtaimeng.com/article/detail/7244/Django