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')
 

参考链接

 

posted @ 2021-09-09 10:47  umsung  阅读(159)  评论(0)    收藏  举报