Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
backbone.js translate django服务器模板与主干集合_Backbone.js_Mustache_Tastypie_Icanhaz.js - Fatal编程技术网

backbone.js translate django服务器模板与主干集合

backbone.js translate django服务器模板与主干集合,backbone.js,mustache,tastypie,icanhaz.js,Backbone.js,Mustache,Tastypie,Icanhaz.js,我习惯于使用http请求定义django视图,该请求使用python数据字典发送http响应,我可以迭代并显示这些数据字典。我正试图用backbone.js来代替它 目前我有一个类似这样的设置: <ul id="teaching_students"> {% for student in students.object_list %} <li class="selected"> <span> {{ student.name }} <

我习惯于使用http请求定义django视图,该请求使用python数据字典发送http响应,我可以迭代并显示这些数据字典。我正试图用backbone.js来代替它

目前我有一个类似这样的设置:

<ul id="teaching_students">

 {% for student in students.object_list %}
    <li class="selected">
      <span> {{ student.name }} </span>
    </li>
 {% endfor %}
</ul>
  • 我需要在views.py中为这个url生成API视图吗?如果需要,那会是什么样子
  • 如何在backbone.js中调用此url并设置集合、视图和正确的路由 我的客户端结构被分解为
    视图/模型
    (我使用require.js将它们组合在一起)

    我正在使用几个插件来帮助弥补主干和tastypi(backbone-tastypi.js)之间的差距,但我真的很想看看其他插件是如何用RESTAPI和backbone.js取代传统的django模板呈现的

    编辑:添加主干模型,这是我正在使用的模型

    define([
        'underscore',
        'backbone'
    ], function(_, Backbone) {
    
        var PersonModel = Backbone.Model.extend({
    
            defaults : {
    
            },
    
            initialize: function( options ) {
    
            },
    
            parse : function(res) {
                // because of jsonp
                return res.data;
            }
    
        });
    
        return PersonModel;
    
    });
    

    所以您想从服务器端渲染移动到客户端渲染?这意味着 您会产生额外的http请求。但这是可能的

    我是否需要在views.py中为此url生成API视图,如果需要,是什么 看起来像吗

    一旦您指定了
    ModelResource
    urlpattern
    ,Tasty pie就会完成所有工作。 您不需要在应用程序的views.py中使用另一个函数来处理http请求-响应周期

  • 查看以了解如何将资源链接到url
  • 使用测试REST客户端(如)查看是否一切正常
  • 如何在backbone.js中调用此url并设置集合、视图 路线正确吗

  • 像对待其他api一样对待api。将模型的
    url
    字段设置为

    /api/people/?format=json

  • 让您的视图收听
    PersonModel

  • 模型

  • 接收数据时,使用您选择的模板引擎渲染视图


  • 另请参阅,以获取为django应用程序提供RESTful接口的选项。

    因此,通过创建一个侦听PersonModel中任何更改的视图,我不必在backbone.js中定义任何显式路由?然后我的应用程序如何到达该视图。该视图必须注册回调以侦听模型的更改。。。有关更多主干教程,请参阅。谢谢您的解释。我将发布一个更具体的问题和我得到的错误。
    define([
        'underscore',
        'backbone'
    ], function(_, Backbone) {
    
        var PersonModel = Backbone.Model.extend({
    
            defaults : {
    
            },
    
            initialize: function( options ) {
    
            },
    
            parse : function(res) {
                // because of jsonp
                return res.data;
            }
    
        });
    
        return PersonModel;
    
    });