djangoでログインした後、「LOGIN_REDIRECT_URL」ではなく、元いた場所に飛ばされるようにする | www.yoshiislandblog.net

djangoでログインした後、「LOGIN_REDIRECT_URL」ではなく、元いた場所に飛ばされるようにする

djangoのページでログインしないと見られないようにするの続き

このままだと、chatルームに入ろうとしたら、ログイン要求され、
ログインしたらhomeに戻ってしまう。

ログインした後は、元いた場所に飛ばされるようにする。

「【ログインリンク】?next={{ request.GET.next }}」をつけるだけ

% cat mysite/mysite/templates/registration/login.html
<!DOCTYPE html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
</head>
<body>
{% block content %}
  <h2>Login</h2>
  <form method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <button type="submit">Login</button>
  </form>
  <br>
  <p><strong>-- OR --</strong></p>
  <a href="{% url 'social:begin' 'github' %}?next={{ request.GET.next }}">Login with GitHub</a><br>  ★ここ
  <a href="{% url 'social:begin' 'twitter' %}?next={{ request.GET.next }}">Login with Twitter</a><br>  ★ここ
{#  <a href="{% url 'social:begin' 'facebook' %}">Login with Facebook</a> #}
{% endblock %}
</body>
%d bloggers like this: