Django AJAX войти без перенаправления - PullRequest
0 голосов
/ 03 июня 2019

Да, существует аналогичный вопрос без разрешения по фактическому вопросу.

Мои пользователи могут опробовать приложение и затем принять решение зарегистрироваться для сохранения учетной записи.После регистрации мне нужно войти в систему без перенаправления или перезагрузки страницы.У меня работает регистрация, и их регистрация не проблема, но что мне вернуть клиенту, чтобы вошедший в систему сеанс был активным в браузере?Я не собираюсь добавлять какие-либо другие фреймворки или библиотеки в стек, пожалуйста.

Django View (некоторые опущены)

class CheckAuthTokenAjaxView(FormView):

    form_class = AuthTokenForm

    def post(self, *args, **kwargs):
        form = self.form_class(self.request.POST)

        u = get_user_model().objects.filter(email=email).first()
        u.email_confirmed = True
        u.save()

        login(self.request, u)

        # What should I be sending back?
        return JsonResponse({"success": True}, status=200)

JS

Doc.Register.checkAuthTokenForm = function(event) {
    event.preventDefault();

    var form = document.getElementById('authtoken-form');
    var data = new FormData(form);

    d3.json('/users/ajax/checkAuthToken/', {
        method: 'post',
        body: data,
        headers: {
            // "Content-type": "charset=UTF-8",
            "X-CSRFToken": Doc.CSRF,
        }
    })
    .then(result => {
        if (result.hasOwnProperty('errors')) {
            // ...
        } else {
            // WHAT DO I DO HERE?
        }
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...