Django Rest Framework Отправка данных для просмотра без сериализатора - PullRequest
0 голосов
/ 26 октября 2018

У меня есть Magic модель в моем приложении. Мне нужен пользователь, который подключен к этой модели, чтобы перейти на свой адрес электронной почты, чтобы проверить что-то, прежде чем они смогут получить доступ к информации. Это должно происходить через RESTful API. Проблема в том, что пользователь не обязательно должен входить в систему для доступа к этой функции (для проектных решений я не имел никакого контроля).

Я реализовал логику для генерации необходимой информации и отправки электронного письма (только если такое электронное письмо зарегистрировано), аутентификации после получения информации по электронной почте и т. Д.

Мой вопрос: как мне реализовать представление, которое принимает электронную почту пользователя (или URL)?

Подход 1 : создайте URL /magic_api/v1/tdbverification/(?P<email>[\w.@]+)/, извлеките адрес электронной почты и отправьте электронное письмо.

Проблема с 1 : не получается извлечь письмо и Мне нужно вернуть объект json без сериализатора

Подход 2 : создание представления, которое принимает тело: {"email": "<email@here.com>"}

Проблема с 2 : для этого требуется сериализатор без модели (так как это представление только для отправки электронного письма, оно не изменяет объекты модели). Я пытался работать с классом serializers.Serializer, но не мог понять, как включить логику отправки электронной почты.

Любая помощь с этим будет высоко ценится.

1 Ответ

0 голосов
/ 26 октября 2018

Почему вам всегда нужен сериализатор! Вы можете написать представление без использования сериализатора. Пример

from rest_framework.views import APIView

class Test(APIView):
    def post(self, request):
        email = request.data['email']
        ...  your logic ...
        return Response(...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...