Javascript 无法修复Django角积垢函数
我试图在django angular中实现crud功能Javascript 无法修复Django角积垢函数,javascript,python,django,angularjs,Javascript,Python,Django,Angularjs,我试图在django angular中实现crud功能 这是任务模型: class Task(models.Model): task_name = models.CharField(max_length=50) client_name = models.ForeignKey(Client) status = models.BooleanField(default=False) date = models.DateField('date added', auto_n
这是任务模型:
class Task(models.Model):
task_name = models.CharField(max_length=50)
client_name = models.ForeignKey(Client)
status = models.BooleanField(default=False)
date = models.DateField('date added', auto_now_add=True)
def __unicode__(self):
return self.task_name
这是我添加的视图:
class MyCRUDView(NgCRUDView):
model_class = Task
这是html文件:
<div class="container" ng-app="myApp">
<div ng-controller="myCtrl">
<table class="table">
{% verbatim %}
<tr ng-repeat="task in tasks">
<td>{{ task.pk }}</td>
<td>{{ task.task_name }}</td>
<td>{{ task.client_name }}</td>
<td>{{ task.date }}</td>
<td><input type="checkbox" ng-model="task.status"></td>
</tr>
{% endverbatim %}
</table>
</div>
</div>
Angular脚本不断给我一个错误,说TaskProvider无法识别。就我的一生而言,我无法理解我做错了什么。该代码几乎是这里给出的django angular文档中示例代码的副本任务工厂位于
myServices
模块上;但它应该在myApp上。假设没有其他错误,这应该可以解决TaskProvider
无法识别的问题
var my_app = angular.module('myApp', [/* other dependencies */,
'ngResource','ngCookies']).run(function($http, $cookies) {
$http.defaults.headers.post['X-CSRFToken'] = $cookies.csrftoken;
//Add the following two lines
$http.defaults.xsrfCookieName = 'csrftoken';
$http.defaults.xsrfHeaderName = 'X-CSRFToken';
});
my_app.factory('Task', ['$resource', function ($resource) {
return $resource('crud/task', {'pk': '@pk'},{})
}]);
my_app.controller('myCtrl', ['$scope','Task', function ($scope, Task) {
//Query returns an array of objects, Task.objects.all() by default
$scope.models = Task.query();
}]);
myServices
在这里是不需要的(只需确保您将ngResource
依赖项添加到myApp
)。其中一些似乎可以工作,我有一个新的错误,它说,预期响应包含一个数组,但得到了一个对象。似乎response实际上是整个html文件,而不是单个任务对象。您能解释一下“crud/Task”的作用吗?
var my_app = angular.module('myApp', [/* other dependencies */,
'ngResource','ngCookies']).run(function($http, $cookies) {
$http.defaults.headers.post['X-CSRFToken'] = $cookies.csrftoken;
//Add the following two lines
$http.defaults.xsrfCookieName = 'csrftoken';
$http.defaults.xsrfHeaderName = 'X-CSRFToken';
});
my_app.factory('Task', ['$resource', function ($resource) {
return $resource('crud/task', {'pk': '@pk'},{})
}]);
my_app.controller('myCtrl', ['$scope','Task', function ($scope, Task) {
//Query returns an array of objects, Task.objects.all() by default
$scope.models = Task.query();
}]);