Как я могу повторно использовать оригинальный login login() и AuthenticationForm, чтобы установить более длинную длину файла 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
В настоящее время, если пользователь регистрирует флажок "запомнить меня", не установлен, возраст файла 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)