📅  最后修改于: 2023-12-03 14:52:16.657000             🧑  作者: Mango
当我们在 Django 中使用基于类的视图时,经常需要对用户提交的数据进行验证和处理。Django 提供了一种方便的方式来处理这个问题,即使用表单(Form)类和表单验证(Form Validation)。
通过使用表单类,我们可以定义我们所需要的字段以及验证规则。然后,在视图中,我们可以使用该表单类来接收用户提交的数据,并进行验证。一旦通过验证,我们可以使用 .cleaned_data
属性来获取已经验证和处理过的数据。
下面是一个示例,演示了如何在基于类的视图中形成 .cleaned_data
数据。
from django import forms
from django.shortcuts import render
from django.views import View
class MyForm(forms.Form):
name = forms.CharField(max_length=100)
email = forms.EmailField()
class MyView(View):
def get(self, request):
form = MyForm()
return render(request, 'my_template.html', {'form': form})
def post(self, request):
form = MyForm(request.POST)
if form.is_valid():
cleaned_data = form.cleaned_data
# 可以在这里使用 cleaned_data 来进行进一步的处理,如保存到数据库等操作
return render(request, 'success_template.html', {'data': cleaned_data})
else:
return render(request, 'my_template.html', {'form': form})
在上面的示例中,我们首先定义了一个 MyForm
表单类,其中包含了一个名为 name
的字段和一个名为 email
的字段。然后,我们在 MyView
视图类中使用该表单类。
在 get
方法中,我们创建一个空的表单实例,并将其传递给模板进行渲染。
在 post
方法中,我们通过 request.POST
对象创建一个带有用户提交数据的表单实例。然后,我们使用 is_valid
方法对表单进行验证。如果验证通过,我们可以使用 .cleaned_data
属性来获取验证和处理过的数据。如果验证未通过,我们可以将表单实例再次传递给模板进行渲染,并显示错误信息。
请注意,在实际开发中,我们还应该对提交的数据进行进一步的处理,如将其保存到数据库中。
希望这个简单的示例能够帮助你在 Django 中使用基于类的视图来形成 .cleaned_data
数据。