📌  相关文章
📜  如何在 django 中在基于类的视图中形成 .cleaned 数据 - Python (1)

📅  最后修改于: 2023-12-03 14:52:16.657000             🧑  作者: Mango

如何在 Django 中在基于类的视图中形成 .cleaned 数据

当我们在 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 数据。