我的应用程序中有一个Magic
模型。我需要连接到该模型的用户访问他们的电子邮件地址,以进行验证,然后才能访问该信息。这应该通过RESTful API进行。问题是,用户不必一定要登录才能访问此功能(对于我无法控制的设计决策)。
我已经实现了生成必要信息并发送电子邮件(仅在注册了此类电子邮件时),访问电子邮件信息后进行身份验证的逻辑。
我的问题:如何实现在正文(或url)中接收用户电子邮件的视图?
方法1 :创建网址/magic_api/v1/tdbverification/(?P<email>[\w.@]+)/
并提取电子邮件地址并发送电子邮件。
问题1 :我似乎无法提取电子邮件 ,我需要在没有序列化程序的情况下返回json对象
方法2 :创建一个包含正文的视图:{"email": "<email@here.com>"}
问题2 :这需要没有模型的序列化程序(因为此视图仅用于发送电子邮件,因此不会更改模型对象)。我尝试使用serializers.Serializer
类,但无法弄清楚如何合并电子邮件发送逻辑。
任何帮助,将不胜感激。
答案 0 :(得分:2)
为什么总是需要序列化器!您可以在不使用序列化程序的情况下编写视图。例子
from rest_framework.views import APIView
class Test(APIView):
def post(self, request):
email = request.data['email']
... your logic ...
return Response(...)