Javascript 从Backbone.js中的非JSON服务器响应创建模型实例

Javascript 从Backbone.js中的非JSON服务器响应创建模型实例,javascript,ajax,django,backbone.js,Javascript,Ajax,Django,Backbone.js,我有一个带有关联视图的规范模型: var Item = Backbone.Model.extend({ url: function() { return "/item/123" } }); var ItemView = Backbone.View.extend({}); 但是,在服务器端,在url“/item/123”处,我的Django应用程序不呈现JSON格式的内容,而是一个设计为直接插入主页内的HTML模板。如何在不大幅更改服务器提供动态内容的方式的情况下渲染模型?是否有

我有一个带有关联视图的规范模型:

var Item = Backbone.Model.extend({
  url: function() {
    return "/item/123"
  }
});
var ItemView = Backbone.View.extend({});
但是,在服务器端,在url“/item/123”处,我的Django应用程序不呈现JSON格式的内容,而是一个设计为直接插入主页内的HTML模板。如何在不大幅更改服务器提供动态内容的方式的情况下渲染模型?是否有可能或者我误解了Backbone.js背后的全部理念


给你一点背景:我正在通过集成Backbone.JS重构Django web应用程序的JS代码。应用程序本身不是很大,但它大量使用Ajax调用。

如果您还没有,请查看django应用程序Tastypie,它是后端到主干和类似应用程序的最佳解决方案


如果不使用代码,很难判断将其全部转移到Tastype与根据每个案例滚动您自己的解决方案相比需要做多少工作,请查看文档。

我认为您不应该在
模型中加载模板。加载和呈现模板通常是
视图的工作。尝试在
视图的
呈现
方法中使用AJAX直接加载HTML:

 var ItemView = Backbone.View.extend({
  render: function(){
    var that = this;
    $.get('/item/123', function(html){
      that.$el.html(html);
    });
    return this;
  }
});

我意识到这个解决方案对于Backbone.js来说并不完美,但开始重构过程将是完美的。