元の admin login() と AuthenticationForm を再利用して、ログイン ページで「remember me」オプションがオンになっているユーザーの Cookie の長さを長くするにはどうすればよいですか? 現在、urls.py を介して組み込みのログインを使用しています。
url(r'^login/$','django.contrib.auth.views.login', {'template_name': 'authentication/login.html'}, name='login'),
チェックボックスは login.html に次のように実装されています。
<label><input name="remember_me" type="checkbox">Keep me logged in</label>
しかし、その情報を AuthenticationForm から django.contrib.auth.views.login に渡す方法がわかりません
現在、ユーザーが「remember me」ボックスをオフにしてログに記録すると、Cookie の有効期間が settings.py で定義されます。
SESSION_COOKIE_AGE = 360
同様の質問がいくつか見つかりましたが、別のアプリをインストールする必要はないと思います。以下のスニペット ( http://djangosnippets.org/snippets/1881/ ) は有望に思えましたが、Python と Django を数か月しかコーディングしていないため、機能させることができませんでした:
def login(request, *args, **kwargs):
if request.method == 'POST':
if not request.POST.get('remember_me', None):
request.session.set_expiry(0)
return auth_views.login(request, *args, **kwargs)