Angularjs 使用angular.js的Django会话

Angularjs 使用angular.js的Django会话,angularjs,django,Angularjs,Django,我已经设置了一个视图索引(view)来加载角度视图,效果很好。Angular与Django通信并维护会话(令牌库) 现在任何人都可以访问此页面。我想限制用户在不登录的情况下访问仪表板(如果用户试图通过添加cookie或其他东西进行黑客攻击)。 如果我为登录和登录创建单独的页面: 如何在一个应用程序中处理不同的页面 我必须创建角度应用程序吗 在Django有什么 class Index(TemplateView): context = {} permanent = False

我已经设置了一个视图
索引(view)
来加载角度视图,效果很好。Angular与Django通信并维护会话(令牌库)

现在任何人都可以访问此页面。我想限制用户在不登录的情况下访问仪表板(如果用户试图通过添加cookie或其他东西进行黑客攻击)。 如果我为登录和登录创建单独的页面:

  • 如何在一个应用程序中处理不同的页面
  • 我必须创建角度应用程序吗
  • 在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)