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中包含敏感用户数据(甚至电子邮件)。从来没有,从来没有。糟糕的参与者更容易截获这些数据。