与angular.js的Django会话

时间:2016-02-24 11:31:04

标签: angularjs django

我已经设置了一个视图Index(View)来加载角度视图,它工作正常。 Angular与Django通信并维护会话(令牌基础)。

class Index(TemplateView):
    context = {}
    permanent = False  # docs.djangoproject.com/en/1.9/ref/class-based-views/base/
    template_name = 'index.html'

    def __init__(self):
        self.context = _.default_context()
        self.response = _.default_response()

    def get(self,request, *args, **kwargs):

        return _.render_view(request, self.template_name, self.context)

    def post(self, request, *args, **kwargs):
        _.process_request(request)
        print request.POST
        username = request.POST['username']
        password = request.POST['password']
        print password
        user = authenticate(username=username, password=password)
        if user is not None:
            if user.is_active:
                auth_token,_ignore = Token.objects.get_or_create(user=user)
                self.response['status']=True
                self.response['statusCode']=200
                self.response['data'] = {'token':auth_token.key}
                self.response['user'] = {'email'                     : user.email,
                                     'first_name'                : user.first_name,
                                     'last_name'                 : user.last_name}
            else:
                self.response['status']=False
                self.response['statusCode']=203
                self.response['data']=[]
        else:
            self.response['status']=False
            self.response['statusCode']=404
            self.response['data']=[]
        return _.serialize_response(self.response)

现在任何人都可以访问此页面。我想限制用户在没有登录的情况下访问仪表板(如果用户试图通过添加cookie或其他东西来破解)。 如果我为登录和角度创建单独的页面:

  • 如何在一个角度应用程序中处理不同的页面?
  • 我是否必须创建角度应用意图?
  • Django中的东西?

0 个答案:

没有答案