Django „Remember Me” z wbudowanym widokiem logowania i formularzem uwierzytelniania
Jak mogę użyć oryginalnego loginu admin () i AuthenticationForm do ustawienia dłuższej długości plików cookie dla użytkowników z zaznaczoną opcją „zapamiętaj mnie” na stronie logowania? Obecnie używam wbudowanego logowania przez urls.py
url(r'^login/Pole wyboru jest zaimplementowane w moim login.html jako:
<label><input name="remember_me" type="checkbox">Keep me logged in</label>
ale nie jestem pewien, jak przekazać te informacje za pomocą AuthenticationForm do django.contrib.auth.views.login
Obecnie, jeśli użytkownik loguje pole „zapamiętaj mnie” niezaznaczone, wiek pliku cookie jest definiowany w pliku settings.py
SESSION_COOKIE_AGE = 360
Znalazłem kilka podobnych pytań, ale nie sądzę, aby wymagało to zainstalowania osobnej aplikacji. Poniższy fragment (http://djangosnippets.org/snippets/1881/) wydawało się obiecujące, ale kodowałem pythona i Django tylko przez kilka miesięcy i nie byłem w stanie go uruchomić:
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)
,'django.contrib.auth.views.login', {'template_name': 'authentication/login.html'}, name='login'),
Pole wyboru jest zaimplementowane w moim login.html jako:
<label><input name="remember_me" type="checkbox">Keep me logged in</label>
ale nie jestem pewien, jak przekazać te informacje za pomocą AuthenticationForm do django.contrib.auth.views.login
Obecnie, jeśli użytkownik loguje pole „zapamiętaj mnie” niezaznaczone, wiek pliku cookie jest definiowany w pliku settings.py
SESSION_COOKIE_AGE = 360
Znalazłem kilka podobnych pytań, ale nie sądzę, aby wymagało to zainstalowania osobnej aplikacji. Poniższy fragment (http://djangosnippets.org/snippets/1881/) wydawało się obiecujące, ale kodowałem pythona i Django tylko przez kilka miesięcy i nie byłem w stanie go uruchomić:
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)