将值从 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

如何将值从 html 传递到 django 中查看?

如何将值从Django模板传递给View

将值从 fullCalendar 单击传递到 Django 模板

通过 Laravel 中的 AJAX 发布请求将值从一个视图传递到另一个视图

如何将值从 django 模板化 html 传递到 ajax