在登录页面只要存在符号@,点击登录按钮会由“快速登录”变为“登录”,且点击无反应
# -*- coding=utf-8 -*-
from django.shortcuts import render
from django.contrib.auth import authenticate,login
from django.contrib.auth.backends import ModelBackend
from django.db.models import Q
from django.views.generic.base import View
from django.contrib.auth.hashers import make_password
from.models import UserProfile
# Create your views here.
class CustomBackend(ModelBackend):
def authenticate(self, username=None, password=None, **kwargs):
try:
user = UserProfile.objects.get(Q(username=username)|Q(email=username))
if user.check_password(password):
return user
except Exception as e:
return None
def User_login(request):
if request.method == "POST":
user_name = request.POST.get("username", "")
pass_word = request.POST.get("password", "")
user = authenticate(username=user_name,password=pass_word)
if user is not None:
login(request,user)
return render(request,"index.html")
else:
return render(request,"login.html",{})
elif request.method == "GET":
return render(request,"login.html",{})