Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 在Angular模块中获取Django request.user_Angularjs_Django_Http_Request - Fatal编程技术网

Angularjs 在Angular模块中获取Django request.user

Angularjs 在Angular模块中获取Django request.user,angularjs,django,http,request,Angularjs,Django,Http,Request,我对Angular是个新手,我正试图找出最好的方法。在Django视图中,我对一个用户进行身份验证,并将该用户存储在request.user中。是否有方法在角度模块中检索request.user。我可以通过Angular的$http服务检索它吗?环顾四周,但找不到解决方案…但,我想我会尝试好的ole堆栈溢出 function bindPusher() { var defer = $q.defer(); var channelName = 'private

我对Angular是个新手,我正试图找出最好的方法。在Django视图中,我对一个用户进行身份验证,并将该用户存储在request.user中。是否有方法在角度模块中检索request.user。我可以通过Angular的$http服务检索它吗?环顾四周,但找不到解决方案…但,我想我会尝试好的ole堆栈溢出

function bindPusher() {
            var defer = $q.defer();

        var channelName = 'private-account-' + Session.account.id;
        var channel = $pusher.client.subscribe(channelName);

        channel.bind('pusher:subscription_succeeded', function (data) {
            $log.debug('Pusher subscribed: ' + channel.name);
            PushListener.bindAndListen(channel);
            defer.resolve(data);
        });
        channel.bind('pusher:subscription_error', function (status) {
            if (status === 403) {
                var msg = 'Pusher channel not authorized.';
                $log.warn(msg);
                defer.reject(msg);
            }
        });

        return defer.promise;
    }

Angular在浏览器中运行,Django在服务器上运行。使用JSON字符串将Django的
request.user
数据发送到浏览器,Angular可以在浏览器中将该JSON字符串展开为Javascript对象

因此,您是正确的,
$http.get('/path/my user.json')
可以读取
请求.user
的数据

$http.get('/path/my-user.json').then(function (response) {
  $scope.user = response.data.user;
}, function (reject) {
  // error
});
在Django视图中,您将以JSON编码字符串的形式发送数据

def my_view(request):
    data = {'username': request.user.username,
            'is_staff': request.user.is_staff}
    return JsonResponse(data)

但是,这些都是Django和Angular,所以一旦你了解了基本知识,就有很多事情需要自动化。也就是说,

您的angular是在django服务器上运行的(在django模板中使用angular)还是单独运行的?另外,如果您在django中使用angular,是否使用特定的包?是的,我的angular是在django服务器上运行的,我不完全确定我是否使用特定的包,示例?您希望如何处理Angular中的用户?以前的身份验证使用Pusher,并使用帐户id获取频道名称。诚然,我不完全确定Pusher是做什么的,所以我将在问题的底部附加angular代码。啊,我明白了,我很好奇为什么他在代码的一部分使用“window”来获取帐户id。我承认我对angular很陌生,但它开始变得越来越有意义了。