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)

questionAnswers(3)

yourAnswerToTheQuestion