Да, существует аналогичный вопрос без разрешения по фактическому вопросу.
Мои пользователи могут опробовать приложение и затем принять решение зарегистрироваться для сохранения учетной записи.После регистрации мне нужно войти в систему без перенаправления или перезагрузки страницы.У меня работает регистрация, и их регистрация не проблема, но что мне вернуть клиенту, чтобы вошедший в систему сеанс был активным в браузере?Я не собираюсь добавлять какие-либо другие фреймворки или библиотеки в стек, пожалуйста.
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?
}
});
}