【问题标题】:Fetch backbone collection fail from django-tastypie从 django-tastypie 获取骨干收集失败
【发布时间】:2012-11-01 19:37:28
【问题描述】:

我正在使用来自https://github.com/PaulUithol/backbone-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):

的结果
[]

非常感谢

【问题讨论】:

    标签: backbone.js render fetch tastypie


    【解决方案1】:

    我建议你在 1 到 2 天内带上美味的馅饼和骨干,并建立自己的简单项目。 然后您将了解耦合这两个框架的基本问题。 如果没有这些知识,您尝试其他人的项目然后想知道“什么不起作用”是毫无意义的。

    从我个人的经验来看,tasticpie 和 javascript 都非常简单,而且很容易结合。

    而且我不是专家。

    几点:尝试使用 fetch 显式获取模型,从成功回调中操作获取的模型,并查看您的模型 url,其中的正斜杠等。

    您的收藏似乎是空的。

    如果有对服务器的 GET 调用,请在控制台中查看。 如果没有,您实际上并没有从服务器获取任何内容。

    【讨论】:

      【解决方案2】:

      我用https://github.com/amccloud/backbone-tastypie 然后你的代码应该是这样的,我猜。未测试。

      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 插件 :) https://github.com/sspross/tastybackbonepie

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-03-27
        • 2012-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多