发现了很多关于它的问题然而找不到smth对我有帮助。 Settings.py包含身份验证后端:
function traitement() {
$.ajax({
url: "datet.php",
dataType: 'json',
data: new Date('traitementD'),
success: function(traitementD) {
alert('true');
},
error: function() {
alert('false')
}
});
}
和auth用户模型:
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
)
用户模型继承自AbstractUser类:
AUTH_USER_MODEL = 'users.User'
然后有3种类型的用户继承自User。我注册了客户:
class User(AbstractUser):
<some_fields>
当我通过激活链接激活用户时,一切正常。客户端是经过身份验证的用但是,当我尝试通过登录和密码验证时,始终返回无:
class Client(User, models.Model):
status = models.CharField(max_length=1, default='C', editable=False)
<some_fields>
我已经记录了返回所需客户端的qs,用户名和密码也没问题,但身份验证返回无。
我想也许问题是客户端没有正确注册。这是SignUp表单:
class LoginView(APIView):
def post(self, request):
qs = User.objects.filter(Q(email=request.data.get('user')) | Q(phone=request.data.get('user')))
if qs.exists():
username = qs.first().username
password = request.data.get('password')
user = authenticate(username=username, password=password)
if user is not None:
login(request, user)
return Response(CMD(user.id), status=status.HTTP_200_OK)
return Response({
'error': 'Invalid login / password',
}, status=status.HTTP_400_BAD_REQUEST)