我正在为我的前端创建一个使用backbone.js的应用程序,并且为我的后端创建了一个使用django-rest-framework的应用程序。我希望能够注册用户,登录和注销用户,并检查用户是否使用骨干网登录。Backbone.js和Django Rest框架注册和身份验证
我了解django身份验证如何工作以及drf如何使用身份验证,但我不知道如何将其绑定到主干。
任何人都可以指向正确的方向吗?
我正在为我的前端创建一个使用backbone.js的应用程序,并且为我的后端创建了一个使用django-rest-framework的应用程序。我希望能够注册用户,登录和注销用户,并检查用户是否使用骨干网登录。Backbone.js和Django Rest框架注册和身份验证
我了解django身份验证如何工作以及drf如何使用身份验证,但我不知道如何将其绑定到主干。
任何人都可以指向正确的方向吗?
如果您的所有应用只能通过用户密码访问,请使用Django的身份验证系统https://docs.djangoproject.com/en/1.7/topics/auth/default/#django.contrib.auth.views.login。使所有的观点@login_required。
现在如果你想通过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);});
我在使用django-rest-auth和AngularJS。它为您提供一组REST API端点来处理用户注册和身份验证任务,并与django-rest-framework和django-allauth完美集成。
要获取用户的信息,你需要调用这个API:
.../rest-auth/user/
默认情况下的反应是:
username
first_name
last_name
email
但你可以与其他信息进行扩展。
你是什么意思“把它绑在骨干“?你可以在javascript和'request.is_authenticated'中访问'request.user'。 – alejoss
我认为这是“不知道要问什么”的问题之一。如果我有一个骨干模型,基于像'urlRoot:/ model'这样的drf端点,我可以调用.save将其发布到drf,或者.delete将其删除,但是它不像那个用户对吗?骨干视图如何注册用户或登录用户?感谢您的建议,但我会继续关注这一点。 – grez
我从来没有使用骨干注册用户或登录他们。我认为你想要的只是与'request.user'交互。但是,我认为利用Django身份验证系统并将Backbone用于其他交互是明智的。 – alejoss