Javascript Backbone.js和Django Rest框架注册和身份验证

Javascript Backbone.js和Django Rest框架注册和身份验证,javascript,django,backbone.js,django-rest-framework,Javascript,Django,Backbone.js,Django Rest Framework,我正在使用backbone.js为我的前端创建一个应用程序,django rest framework为我的后端创建一个应用程序。我希望能够注册用户,登录和注销用户,并检查用户是否使用主干网登录 我了解django身份验证是如何工作的,以及drf是如何使用身份验证的,但我不知道如何将其绑定到主干网中 有人能给我指出正确的方向吗?我正在使用AngularJS。它为您提供了一组RESTAPI端点来处理用户注册和身份验证任务,并与和完美集成 要获取用户信息,您需要调用以下API: .../rest-a

我正在使用backbone.js为我的前端创建一个应用程序,django rest framework为我的后端创建一个应用程序。我希望能够注册用户,登录和注销用户,并检查用户是否使用主干网登录

我了解django身份验证是如何工作的,以及drf是如何使用身份验证的,但我不知道如何将其绑定到主干网中

有人能给我指出正确的方向吗?

我正在使用AngularJS。它为您提供了一组RESTAPI端点来处理用户注册和身份验证任务,并与和完美集成

要获取用户信息,您需要调用以下API:

.../rest-auth/user/
默认情况下,响应为:

username
first_name
last_name
email

但是你可以用其他信息来扩展它。

如果你的所有应用程序都只能通过用户密码访问,请使用Django的身份验证系统。将所有视图设置为@login\u必需

现在,如果您想通过ajax调用将其登录,请创建一个视图,如下所示:

from django.contrib.auth import authenticate
from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def login_ajax(request):
    data = json.loads(request.body.decode("utf-8"))
    user = authenticate(username=data['user'], password=data['pass'])
    if user:      
        return HttpResponse("OK")
    else:
        return HttpResponse("Error", status=401)
稍后,在模板上的JS上:

$.post( /* url where you mapped the login_ajax view */, { user: "John", pass: "abc123" } )
 .done(function( data ) { alert( "User logged in: " + data );})
 .fail(function( data ) { alert( "User not logged in: " + data );});

你说“把它绑在脊梁上”是什么意思?您可以访问javascript中的
request.user
,也可以访问
request.is\u验证过的
。我认为这是一个“不确定要问什么”的问题。如果我在主干网中有一个基于drf端点的模型,比如“urlRoot:/model”,我可以调用.save将其发布到drf,或者.delete将其删除,但与用户不同,对吗?主干视图如何注册用户或登录用户?不过,谢谢你的建议,我会继续关注这一点。我从未使用主干网注册用户或登录他们。我以为你想要的只是与
request.user
交互。但是,我认为最好利用Django身份验证系统,然后使用主干网进行其他交互。是的,我想使用Django身份验证系统,但如何编写主干网视图来创建用户并登录或注销。对不起,我的问题让人困惑。我对这一切都很陌生,所以。。我要做的是使用一个html模板和一个常规表单,让用户登录。然后,如果登录成功,将用户重定向到主干网支持的单页应用程序。为了注册用户,我也会这样做,一个普通的html表单,没有主干。我使用主干进行其他交互。