Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django Rest框架不使用序列化程序将数据发送到视图_Django_Email_Post_Django Rest Framework - Fatal编程技术网

Django Rest框架不使用序列化程序将数据发送到视图

Django Rest框架不使用序列化程序将数据发送到视图,django,email,post,django-rest-framework,Django,Email,Post,Django Rest Framework,我的应用程序中有一个Magic模型。我需要用户谁是附加到这个模型去他们的电子邮件地址,以验证一些东西之前,他们可以访问的信息。这应该在RESTful API上发生。问题是,用户不一定要登录才能访问此功能(对于我无法控制的设计决策) 我已经实现了生成必要信息和发送电子邮件的逻辑(仅在注册此类电子邮件时)、访问电子邮件信息后的身份验证等 我的问题是:如何实现在正文(或url)中接收用户电子邮件的视图 方法1:创建url/magic_api/v1/tdbverification/(?p[\w.@]+)

我的应用程序中有一个
Magic
模型。我需要用户谁是附加到这个模型去他们的电子邮件地址,以验证一些东西之前,他们可以访问的信息。这应该在RESTful API上发生。问题是,用户不一定要登录才能访问此功能(对于我无法控制的设计决策)

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

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

方法1:创建url
/magic_api/v1/tdbverification/(?p[\w.@]+)/
,提取电子邮件地址并发送电子邮件

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

方法2:创建一个包含正文的视图:
{“email”:“}

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


对此的任何帮助都将不胜感激。

为什么您总是需要序列化程序!您可以编写视图而不使用序列化程序。范例

from rest_framework.views import APIView

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

从rest\u framework\u jwt.views导入APIView
从rest\u framework.generics导入APIView
?rest framework generic不包含APIView。从rest_framework.views导入APIView我认为这不会在API根目录中产生一个好的视图,您必须自己进行验证。包含一个基本的序列化程序不是很难,这将允许所有DRF功能正常工作。下面是一个使用序列化程序验证数据,然后使用overide save方法发送邮件的示例:必须大声说出来,不要在url中包含敏感用户数据(甚至电子邮件)。从来没有,从来没有。糟糕的参与者更容易截获这些数据。