2016-01-19 56 views
0

我已创建通过本教程引导的Django的休息framwork后端:添加角登录前端Django的REST框架后端

http://www.django-rest-framework.org/

我已经上传了后端:

https://github.com/jakkan/grader

我想建立一个角度前端到djano rest框架的后端。我对Angular有相当的了解,但不知道如何创建一个登录和注销的前端。

我希望这不是一个太大的问题,但是如何添加一个用于登录和退出的Angular前端?

+0

我想你只是需要在你的角度使用$ http或$资源使用休息终点。 – CrazyGeek

+0

谢谢!你能举一个例子作为解决方案吗?这会有很大的帮助。我很难理解如何去做 – user1283776

回答

2

一旦你创建了使用django-rest-framework的休息API,那么你可能会创建许多端点,就像你创建和配置成URL一样。

所以要整合其余的api,首先你需要访问你的休息api暴露的域,我们将假设localhost:8000

现在你应该创建一个角度常量来保存这个剩余的端点域信息,因为我们将在我们的角度项目中的很多地方使用很多API,所以为了保持它的干净,我们必须使用常量,这可以注入到任何地方我们需要休息终点。在AgnularJS

angular.module('angularApp') 
    .constant('restEndPoint', 'http://localhost:8000'); 

REST端点不变现在,这将在任何地方通过项目的注入,如服务avaialbe。

这取决于你如何设计你的休息API,但如果你有休息标准设计你的休息API,那么我会建议使用$resource,而不是使用$http

我总是喜欢在factory里写我的持久逻辑,再次选择它。

以下是以角度方式使用其余端点的示例。

angular.module('AngularApp') 
    .factory('TodoService', ['$resource', 'restEndPoint', function ($resource, restEndPoint) { 
    return $resource(restEndPoint+'/todos/:id') 
}]); 

控制器

angular.module('AngularApp') 
    .controller('TodoCtrl', function ($scope, TodoService) { 
     var Todo = new TodoService(); 

     // Now Todo is an $resource instance. Which can be used to get/post/patch/delete data on rest api. such as following. 

    // GET all records. 
    Todo.$query(); 

    // GET specific record based on id. 
    Todo.$query({id:1}); 

    // POST data to create new Todo item. 
     newTodo = { title: 'Task 1', completed: false} 
     Todo.$save(newTodo) 

    // PUT/PATCH specific record base on id. 
    editTodo = { title: 'Task title changed', completed: false} 
    Todo.$update({id: 1}, editTodo); 

}); 

我希望你明白与angularJS的REST API集成。如果您有任何疑问,请告诉我。

谢谢

+0

@ user1283776让我知道它是否有用,并通过接受答案让其他人知道。 – CrazyGeek

相关问题