将值从 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 插入的模板的主要内容,如果未能解决你的问题,请参考以下文章
如何将值从视图传递到不可编辑的字段django python
将值从 fullCalendar 单击传递到 Django 模板