Django не перенаправляет после получения POST-запроса
После получения учетных данных google через POST запрос, я хочу, чтобы Django зарегистрировал пользователя и перенаправил его на домашнюю страницу
from google.auth import jwt
def google_login(request):
if request.method == "POST":
credential = request.body
profile_info = jwt.decode(credential, verify = False)
email = profile_info["email"]
user = User.objects.filter(email = email)
if user:
login(request, user.first())
print("---------------login success")
return HttpResponseRedirect(reverse("index"))
else:
return render(request, "network/login.html", {
"message": "Invalid username and/or password."
})
else:
return render(request, "network/login.html")
Успех входа печатается, но страница не перенаправляется и не обновляется. Терминал ничего не показывает
---------------login success
[22/Sep/2021 16:05:59] "POST /google_login HTTP/1.1" 302 0
[22/Sep/2021 16:05:59] "GET / HTTP/1.1" 200 13957
[22/Sep/2021 16:06:03] "GET /static/network/styles.css.map HTTP/1.1" 404 1825
[22/Sep/2021 16:06:10] "GET /account/login HTTP/1.1" 200 4342
[22/Sep/2021 16:06:10] "GET /static/network/styles.css.map HTTP/1.1" 404 1825
[22/Sep/2021 16:06:10] "GET /account/login HTTP/1.1" 200 4342
Мой код во фронт-энде выглядит следующим образом
const csrftoken = Cookies.get('csrftoken');
function handleCredentialResponse(response) {
fetch(`/google_login`, {
method: 'POST',
headers: { 'X-CSRFToken': csrftoken },
body: response.credential
})
}
Мой файл urls.py имеет следующий вид
urlpatterns = [
path("", views.index, name="index"),
path("account/login", views.login_view, name="login"),
path("account/logout", views.logout_view, name="logout"),
path("account/register", views.register, name="register"),
path("profile/<int:user_id>", views.profile, name="profile"),
path("following_view", views.following_view, name="following_view"),
path("test/", views.test, name="test"),
# API Routes
path("new_post", views.new_post, name="new_post"),
path("follow_unfollow/<int:user_id>/",
views.follow_unfollow, name="follow_unfollow"),
path("edit", views.edit, name="edit"),
path("post/<int:post_id>/karma", views.karma, name="karma"),
path("google_login", views.google_login, name="google_login"),
]