我对 Backbone.js 很陌生(但对 Django 不是很熟悉)。我已经设置了一个简单的应用程序来使用backbone.js 和Django(通过djangorestframework),但我似乎无法将服务器数据加载到集合中。
这是views.py
from djangorestframework.mixins import ResponseMixin
from djangorestframework.renderers import DEFAULT_RENDERERS
from djangorestframework.compat import View
from djangorestframework.response import Response
class WeekView(ResponseMixin, View):
"""Gets and returns specific week, or current week if no week data provided."""
renderers = DEFAULT_RENDERERS
def get(self, request):
response = Response(200, [{'day': x} for x in range(7)])
return self.render(response)
这是backbone.js 代码:
$(document).ready(function() {
/* Backbone scripts */
var Day = Backbone.Model.extend({
});
var Week = Backbone.Collection.extend({
model: Day,
url: '/week'
});
var days = new Week;
days.fetch();
days.each(function(day) {
console.log(day.get("day"));
});
});
控制台什么也不返回。
如果我记录 days 变量本身,我会得到如下信息:
> d
_byCid: Object
_byId: Object
length: 7
models: Array[7]
__proto__: x
视图似乎没问题(调用 /week 返回一个格式良好的 {'day': number} 类型的字典列表。
我确信将简单数据预加载到集合中的解决方案非常简单,但我很难过......
提前致谢!