Django的Form类和rest_framework的Serializer类
Form类:
from django import forms
继承form.Form或form.ModelForm
前者自定义表单字段,后者将模型和表单结合起来,直接使用表单字段,也可以自定义覆盖表单字段
Form类使用
form_obj = LoginForm(request.POST)
form_obj.cleaned_data.get('user')
Serializer类
Django提供了Form类和ModelForm类两种方式自定义表单一样,REST framework提供了Serializer类和ModelSerializer类两种方式供你自定义序列化器。
前者需手动指定需要序列化和反序列化的字段,后者根据模型(model)生成需要序列化和反序列化的字段,可以使代码更简洁。
ModelSerializer类能够让你自动创建一个具有模型中相应字段的Serializer类。这个ModelSerializer类和常规的Serializer类一样,不同的是:
- 它根据模型自动生成一组字段。
- 它自动生成序列化器的验证器,比如
unique_together验证器。 - 它默认简单实现了
.create()方法和.update()方法。
提交的所有数据都在request.data里
request.POST # 只处理表单数据 只适用于'POST'方法
request.data # 处理任意数据 适用于'POST','PUT'和'PATCH'方法
Serializer类使用
verify_data = UserCollectSerializer(data=request.data,context={"request": request})
verify_data .data.get('user')

浙公网安备 33010602011771号