Bagaimana saya dapat menggunakan kembali login admin asli () dan AuthenticationForm untuk menetapkan panjang cookie yang lebih panjang untuk pengguna dengan opsi "ingat saya" dicentang pada halaman login? Saat ini saya menggunakan login built-in melalui urls.py
url(r'^login/$','django.contrib.auth.views.login', {'template_name': 'authentication/login.html'}, name='login'),
Kotak centang diimplementasikan dalam login.html saya sebagai:
<label><input name="remember_me" type="checkbox">Keep me logged in</label>
tetapi saya tidak yakin cara meneruskan informasi itu melalui AuthenticationForm ke django.contrib.auth.views.login
Saat ini, jika pengguna log "ingat saya" kotak tidak dicentang, usia cookie didefinisikan dalam settings.py
SESSION_COOKIE_AGE = 360
Saya menemukan beberapa pertanyaan serupa tetapi saya tidak berpikir ini harus memerlukan aplikasi terpisah untuk diinstal. Cuplikan di bawah ini (http://djangosnippets.org/snippets/1881/) sepertinya menjanjikan tetapi saya telah mengkodekan python dan Django hanya untuk beberapa bulan dan saya tidak bisa membuatnya bekerja:
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)