Django Rest Framework无需序列化程序即可将数据发送到视图

时间:2018-10-26 03:34:05

标签: django email post django-rest-framework

我的应用程序中有一个Magic模型。我需要连接到该模型的用户访问他们的电子邮件地址,以进行验证,然后才能访问该信息。这应该通过RESTful API进行。问题是,用户不必一定要登录才能访问此功能(对于我无法控制的设计决策)。

我已经实现了生成必要信息并发送电子邮件(仅在注册了此类电子邮件时),访问电子邮件信息后进行身份验证的逻辑。

我的问题:如何实现在正文(或url)中接收用户电子邮件的视图?

方法1 :创建网址/magic_api/v1/tdbverification/(?P<email>[\w.@]+)/并提取电子邮件地址并发送电子邮件。

问题1 :我似乎无法提取电子邮件 ,我需要在没有序列化程序的情况下返回json对象

方法2 :创建一个包含正文的视图:{"email": "<email@here.com>"}

问题2 :这需要没有模型的序列化程序(因为此视图仅用于发送电子邮件,因此不会更改模型对象)。我尝试使用serializers.Serializer类,但无法弄清楚如何合并电子邮件发送逻辑。

任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:2)

为什么总是需要序列化器!您可以在不使用序列化程序的情况下编写视图。例子

from rest_framework.views import APIView

class Test(APIView):
    def post(self, request):
        email = request.data['email']
        ...  your logic ...
        return Response(...)