验证 django rest api 使用传统形式获取请求 class
Validating django rest api get request using traditional forms class
我正在尝试使用 Django 表单验证 DRF 获取请求,如下所示,
django rest的视图api
@csrf_exempt
@api_view(['GET', 'POST'])
def pkg_list(request):
if request.method == 'GET':
frm=ThisForm(request.GET)
if frm.is_valid:
print("form ok")
print(frm.cleaned_data)
else:
print("invalid")
mydata=[{"email": request.GET['reseller']}]
results=ResellerListPackages(mydata,many=True).data
return Response(results)
视图class形式如下,
class ThisForm(forms.Form):
reseller=forms.EmailField(max_length=255)
def clean(self):
self.cleaned_data = super().clean()
print(self.cleaned_data)
return self.cleaned_data
表单验证似乎工作正常,但找不到 frm.cleaned_data 并出现以下错误,
print(frm.cleaned_data)
AttributeError: 'ThisForm' object has no attribute 'cleaned_data'
谁能给我指出正确的方向。第一次使用DRF
改变
frm.is_valid
到
frm.is_valid()
当 is_valid()
被调用时,表单仅获得 cleaned_data
属性,而您尚未在这个新的第二个实例上调用它。
但在您的情况下,您没有调用 is_valid()
方法 。
我正在尝试使用 Django 表单验证 DRF 获取请求,如下所示,
django rest的视图api
@csrf_exempt
@api_view(['GET', 'POST'])
def pkg_list(request):
if request.method == 'GET':
frm=ThisForm(request.GET)
if frm.is_valid:
print("form ok")
print(frm.cleaned_data)
else:
print("invalid")
mydata=[{"email": request.GET['reseller']}]
results=ResellerListPackages(mydata,many=True).data
return Response(results)
视图class形式如下,
class ThisForm(forms.Form):
reseller=forms.EmailField(max_length=255)
def clean(self):
self.cleaned_data = super().clean()
print(self.cleaned_data)
return self.cleaned_data
表单验证似乎工作正常,但找不到 frm.cleaned_data 并出现以下错误,
print(frm.cleaned_data)
AttributeError: 'ThisForm' object has no attribute 'cleaned_data'
谁能给我指出正确的方向。第一次使用DRF
改变
frm.is_valid
到
frm.is_valid()
当 is_valid()
被调用时,表单仅获得 cleaned_data
属性,而您尚未在这个新的第二个实例上调用它。
但在您的情况下,您没有调用 is_valid()
方法 。