Backbone.js 从django tastypie获取主干收集失败
我正在使用来自的主干tastypie,无法获取收集数据。 这是我的密码:Backbone.js 从django tastypie获取主干收集失败,backbone.js,render,fetch,tastypie,Backbone.js,Render,Fetch,Tastypie,我正在使用来自的主干tastypie,无法获取收集数据。 这是我的密码: var User = Backbone.Model.extend({ url: '/api/v1/user' }); var HoraExtra = Backbone.Model.extend({ url: '/api/v1/horasextra/' }); var HorasExtra = Backbone.Collection.extend({ url: '/api/v1/horasextra/',
var User = Backbone.Model.extend({
url: '/api/v1/user'
});
var HoraExtra = Backbone.Model.extend({
url: '/api/v1/horasextra/'
});
var HorasExtra = Backbone.Collection.extend({
url: '/api/v1/horasextra/',
model: HoraExtra
});
var Horas = new HorasExtra();
var activeUser = new User();
var HorasExtraView = Backbone.View.extend({
initialize: function() {
_.bindAll(this, "render");
},
render: function() {
var plantilla = Handlebars.compile($("#horas_extra_template").html());
var html = plantilla(Horas);
this.$el.html(html);
console.log(JSON.stringify(Horas));
}
});
var HorasExtraWidget = new HorasExtraView({el: $('#base')});
Horas.fetch({
data: {
"usuario__id": 2,
"hor_com__month": 11
}
});
HorasExtraWidget.render();
这是console.log(JSON.stringify(Horas))的结果:
非常感谢我建议您在1-2天内学习tastypie、主干并构建自己的简单项目。 然后您将了解耦合这两个框架的基本问题。 没有这些知识,你尝试其他人的项目,然后想知道“什么不起作用”是毫无意义的 从我个人的经验来看,tastypie和javascript都非常简单,而且很容易结合 我不是专家 两点:尝试使用fetch显式地获取模型,从成功回调中操作获取的模型,并观察模型url、斜杠等 你的收藏好像是空的 在控制台中查看是否有对服务器的GET调用。 如果没有,您实际上没有从服务器获取任何东西。我使用过,然后您的代码应该是这样的,我猜。没有测试
var HorasCollection = Backbone.Tastypie.Collection.extend({
url: '/api/v1/horasextra/'
});
var HorasExtraView = Backbone.View.extend({
el: $('#base'),
entries: new HorasCollection(),
render: function() {
var that = this;
this.entries.fetch({
success: function(entries){
console.log("Entries", entries.models);
// var t = _.template(template, {hello: 'world'});
// that.$el.html(t);
},
error: function(model, response){
console.log("Error", response);
}
});
}
});
如果要为数据创建表,请尝试我的jquery插件:)
var HorasCollection = Backbone.Tastypie.Collection.extend({
url: '/api/v1/horasextra/'
});
var HorasExtraView = Backbone.View.extend({
el: $('#base'),
entries: new HorasCollection(),
render: function() {
var that = this;
this.entries.fetch({
success: function(entries){
console.log("Entries", entries.models);
// var t = _.template(template, {hello: 'world'});
// that.$el.html(t);
},
error: function(model, response){
console.log("Error", response);
}
});
}
});