将值从 Django 视图传递到 AngularJS 插入的模板

Posted

技术标签:

【中文标题】将值从 Django 视图传递到 AngularJS 插入的模板【英文标题】:Passing value from Django view to AngularJS inserted template 【发布时间】:2015-12-17 10:11:36 【问题描述】:

有没有办法?

在我的 view.py 我有代码:

count_users = Profile.objects.filter(user_id__gte = 0).count()
context_dict = 'users': count_users
return render_to_response('dashboard.html', context_dict)

在 dashboard.html 中,我可以将用户计数插入到 html 中,如下所示:

 users 

这工作正常,但 dashboard.html 使用 AngularJS 插入更多的 html,如下所示:

<div ui-view class="fade-in-up">
</div>

AngularJS插入的html文件没有响应的mt问题:

 users 

有没有办法将用户的价值传递给 AngularJS 插入的 HTML?

【问题讨论】:

users 变量必须附加到 $scope,否则它不会出现在这样的绑定中。 你能解释一下附加到 $scope 是什么意思吗?我不知道那是什么。我该怎么做? 在 Angular 中有一个名为 $scope 的变量。如果你先$scope.someVar = 5 然后 someVar ,它就会出现。如果你只做var someVar = 5 然后尝试以同样的方式绑定它 - 它不会起作用。因此,要正确显示您想要的变量,您必须使用 javascript 并将其附加到范围。 【参考方案1】:

在你的 javascript 中做:

mainModule
    .config(function($interpolateProvider) 
        $interpolateProvider.startSymbol('$');
        $interpolateProvider.endSymbol('$');
);

这样,如果你想在html中绑定一个角度变量,你使用:

$ variable $

如果要添加 Django 变量,请使用:

  variable 

如果您保持原样,您的代码可能会工作,只需将此配置添加到角度模块。

【讨论】:

【参考方案2】:

使用 ng-init 你可以将你的值附加到 $scope

<div ui-view class="fade-in-up" ng-init="User='user' " >

</div>

【讨论】:

谢谢,太完美了 你能分享你的 Django 和 AngularJS 代码吗?这个解决方案对我不起作用。谢谢。

以上是关于将值从 Django 视图传递到 AngularJS 插入的模板的主要内容,如果未能解决你的问题,请参考以下文章