How can I reuse the original admin login() and AuthenticationForm to set longer cookie length for users with \"remember me\" option checked at login page? I am currently usi
from django.shortcuts import render
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
from django.contrib.auth import authenticate
from site_user.models import User
def home(request):
if request.session.has_key('username') and request.session.has_key('password'):
username = request.session['username']
password = request.session['password']
context_dict = {'username': username, 'password': password}
return render(request, 'sadmin/login.html', context=context_dict)
else:
context_dict = {'username': '', 'password': ''}
return render(request, 'sadmin/login.html', context=context_dict)
@csrf_exempt
def login(request):
if request.method == "POST":
if request.POST['is_remember_check'] == 'true':
request.session['username'] = request.POST['username']
request.session['password'] = request.POST['password']
user = authenticate(username=request.POST['username'], password=request.POST['password'])
if user is not None:
return JsonResponse({'result': request.POST, 'status': True})
else:
return JsonResponse({'result': request.POST, 'status': False})
function login(){
remember_checkbox_value = document.getElementsByName('remember')[0].checked;
username = document.getElementsByName('username')[0].value;
password = document.getElementsByName('password')[0].value;
var post_data = {username:username, password:password, is_remember_check:remember_checkbox_value};
$.ajax({
url: '/sadmin/login/',
method: 'POST',
data: post_data,
dataType: 'json',
success: function (response) {
if (response.status){
alert("User login is successful");
window.location.reload();
}
else{
alert("User login is not successful");
window.location.reload();
}
}
});
}