所以我有一个来自Django的变量:
[<Topic object>, <Topic object>]
我使用ng-init
将其传递给Angular,如下所示:
<div class="profile-navigation" ng-init="ProfileTopics={{ProfileTopics|safe}} ">
我得到了语法分析错误而不是成功。
angular.js:12520错误:[$ parse:syntax] http://errors.angularjs.org/1.4.8/ $ parse / syntax?p0 =%3C&amp; p1 = not%20a%20primary%20expression&amp; p2 = 16&amp; p3 = ProfileTopics%3D %5B%3CTopic%3A%20Topic&#34;&#34; bject%3E%2C%20%3CTopic%3A%20Topic%对象%3E%5D&安培; P4 =%3CTopic%3A%20Topic%对象%3E%2C% 20%3CTopic%3A%20Topic%对象%3E%5D 在错误(本机) 在https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js:6:416 at Object.s.throwError(https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js:210:32) 在Object.s.primary(https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js:207:6) at Object.s.unary(https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js:206:174) 在Object.s.multiplicative(https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js:205:434) 在Object.s.additive(https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js:205:261) 在Object.s.relational(https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js:205:96) at Object.s.equality(https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js:204:425) 在Object.s.logicalAND(https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js:204:278)
答案 0 :(得分:1)
你不能只是从Django向Angular发送一个对象。您需要先将其序列化为JSON。
您可以使用Django的内置序列化程序以基本方式执行此操作,但第三方项目Django Rest Framework更易于定制且更易于使用。
答案 1 :(得分:0)
为了加入Angular,我发现this是一个了不起的指南。 要从Django发送它,您可能需要: