我正在使用一个名为 Django-Angular 的自定义库在我的 Django 模板中执行基本的 CRUD 操作。
我正在关注 official documentation ,但无法在我的模板中使用 Angular JS 查询 Django 对象 - 它只是显示 Angular JS 模板标签 {{ property.name }} 并且我收到 Angular JS Uncaught object
错误,它指向 angular.js 文件( this is the code block that it points to ,它指向第一行)。
根据 this answer ,模块没有正确注入(inject),这就是我需要帮助的地方。
在按照教程进行操作时,我已经设置了一个 Django View :
类 PropertyMapView(NgCRUDView):
模型 = 属性
fields = ['名称',]
添加了一个 URL 参数:
url(r'^crud/property/?$', PropertyMapView.as_view(), name='property_map_view'),
这是我的模板:
<body ng-app="myServices">
{% verbatim %}
<script type="text/javascript">
var myServices = angular.module('myServices', ['ngResource']);
myServices.factory('Property', ['$resource', function($resource) {
return $resource('/crud/property/', {'pk': '@pk'}, {
});
}]);
myServices.controller('myCtrl', ['$scope', 'Property', function ($scope, Property) {
// Query returns an array of objects, MyModel.objects.all() by default
$scope.models = Property.query();
// Getting a single object
var property = Property.get({pk: 1});
}]);
</script>
<div ng-controller="myCtrl" >
<h2>Test: {{ property.name }} </h2>
or
<h2>Test: {{ property }} </h2>
</div>
{% endverbatim %}
顺便说一句,我认为 View 本身是有效的,因为当我查询 http://myurl.com/crud/property/
时,我在浏览器中接收到一些数据:
[{"pk":1,"name":"Pastatas A"},{"pk":4,"name":"hmgbjmnbm"},{"pk":3,"name":"gfghfghfg"},{"pk":5,"name":"sdfsdgsdgsdgasssss"}]
。
我只是无法设置 javascript 部分并使其工作——正如我所说,它只是显示 Angular JS 模板标签 {{ property.name }} 并且我收到了一个 Angular JS Uncaught对象
错误。
最佳答案
似乎 ng 模块没有正确加载,因为它没有安装。
<script src="http://code.angularjs.org/1.2.19/angular-resource.js"></script>
然后我修好了我的 Controller 。应该写:
$scope.property = Property.get({pk: 1});
代替:
var property = Property.get({pk: 1});
看来现在可以用了!
关于javascript - Django-Angular CRUD 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24852376/