Django Rest中带有表单的自定义帖子视图

时间:2019-07-17 16:04:34

标签: django django-rest-framework

我想执行以下操作:创建一个仅接受帖子的视图,但是当我访问“ / api / check_email /”之类的视图时,该视图会生成一个表单。因此,唯一的字段将是电子邮件,然后是电子邮件。我将检查是否有用户使用此电子邮件,并根据用户是否存在将状态返回为200或404。

我对如何执行此操作有些迷茫。

目前,我的观点如下:

class CheckEmail(APIView):
    def post(self, request):
        email = "???"
        user = get_object_or_404(User, email=email)

        return Response({email: user.email}, status=200)

1 个答案:

答案 0 :(得分:0)

如果要在视图本身中执行此操作,可以使用类似的代码:

如果您想在没有发送电子邮件的情况下引发异常,请导入APIException类。

from rest_framework.exceptions import APIException

在您的视图中添加以下内容:

email = request.data.get('email', None)
if not email:
    raise APIException('Enter a valid email')