Backbone.js 从django 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/',

我正在使用来自的主干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/',
  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);
            }
        });
    }
});