1

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

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 调用。

4

2 回答 2

2

我认为您不应该在model. 模板的加载和渲染通常是view. render尝试在您的方法中使用 AJAX 直接加载 HTML view

 var ItemView = Backbone.View.extend({
  render: function(){
    var that = this;
    $.get('/item/123', function(html){
      that.$el.html(html);
    });
    return this;
  }
});
于 2013-04-11T23:27:39.793 回答
0

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

如果不看代码,很难知道将其全部转移到 Tastypie 中与基于每个案例滚动您自己的解决方案需要做多少工作,请查看文档。

于 2013-04-11T23:27:30.213 回答