我在Django + allauth中有一个后端,restova框架和本地应用程序在cordova/jquery mobile中。我必须访问这个本地应用程序的登录/注销页面。Django,cordova和身份验证
我有点困惑。 我使简单的ajax来测试它。
我加
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.BasicAuthentication',
'rest_framework.authentication.SessionAuthentication',
)
}
$.ajax({
type : "POST",
url : url+"login/",
data : {x:'user1', y:"pass1"}
})
我在Django的创建分贝这种模式(用户1,PASS1)
而且我有鉴于在Django
@api_view(['POST'])
def login(request):
username = request.POST.get('x')
password = request.POST.get('y')
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(user)
return Response({...})
但行
login(user)
我明白了错误:
AttributeError: 'User' object has no attribute 'encoding'
当我把后
user = authenticate(username=username, password=password)
print user
我得到这个用户“user1的”
窦你们有阿努想法如何正确地做这个登录系统打印?
调用'登录信息(用户)'会被递归调用它里面的功能。另外,从进口django.contrib中的auth'进口'将允许调用' auth.login(user)',作为命名空间冲突的替代修复。 –
Plus还没有登录功能需要请求吗? '登录(请求,用户)' – dkarchmer