2012-11-13 34 views
1

我使用https://github.com/PaulUithol/backbone-tastypie的backbone-tastypie,但無法獲取收集數據。 那是我的代碼:從django-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)結果:

[] 

非常感謝

回答

2

我會建議你,你拿tastypie ,骨幹,並在1-2天內建立你自己的簡單項目 然後你將會了解到耦合這兩個框架的基本問題 沒有這些知識,你無意中嘗試其他人的項目,然後想知道「不工作「。

從我個人的經驗來看,tastypie和javascript都很簡單,很容易搭配。

而我不是專家。

幾點:儘量明確獲取型號獲取,處理從成功回調取模型,並觀看你的模型的URL,正斜槓在他們等

看來你的集合爲空。

查看控制檯是否有GET調用服務器。 如果沒有,你實際上並沒有從服務器取任何東西。

0

我用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