Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.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/2/python/338.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
Javascript 区分主干模型和集合_Javascript_Python_Django_Backbone.js - Fatal编程技术网

Javascript 区分主干模型和集合

Javascript 区分主干模型和集合,javascript,python,django,backbone.js,Javascript,Python,Django,Backbone.js,我在尝试Backbonejs阅读两份文档。这是一个MVC 客户端框架。MVC代表模型、视图和视图 控制器 我来自django背景,做过更多的工作。所以我可能 通过与此相关,您将获得最好的理解 对我来说,模型是这样的: class Note(models.Model): title = models.CharField() description = models.TextField() date = models.DateField(auto_now_add=True)

我在尝试Backbonejs阅读两份文档。这是一个MVC 客户端框架。MVC代表模型、视图和视图 控制器

我来自django背景,做过更多的工作。所以我可能 通过与此相关,您将获得最好的理解

对我来说,模型是这样的:

class Note(models.Model):

   title = models.CharField()
   description = models.TextField()
   date = models.DateField(auto_now_add=True)
   author = models.ForeignKey(UserProfile)
现在,这将为我创建一个数据库,我将在notes表中 有四列,标题,描述,日期和作者

当我编写主干应用程序时,如何定义我的模型和 控制器?模型应该是什么?模型应该是什么 控制器?
请解释一下,谢谢

我看看这个。它看起来很迟钝,但我尝试将主干元素与django元素进行比较

主干集合相当于Django中的QuerySet对象。 主干中的模型(如Django中的模型)只接受数据定义。 路由器对象类似于Django URL调度程序。
视图的范围取决于它们所影响的元素(而不是像django那样呈现整个页面,它们会更改文档中定义的元素)

模型是任何JavaScript应用程序的核心,包含交互数据以及围绕它的大部分逻辑:转换、验证、计算属性,和访问控制

例如:

Person = Backbone.Model.extend({
    defaults: {
        name: 'Fetus',
        age: 0,
        children: []
    },
    initialize: function(){
        alert("Welcome to this world");
    }
});
主干网没有传统mvc框架中的控制器,而是使用路由器。主干路由器用于路由应用程序URL。在传统的MVC意义上,它们不一定符合语义

例如:

var AppRouter = Backbone.Router.extend({
    routes: {
        "/posts/:id": "getPost",
        "*actions": "defaultRoute" // Backbone will try match the route above first
    },
    getPost: function( id ) {
        // Note the variable in the route definition being passed in here
        alert( "Get post number " + id );   
    },
    defaultRoute: function( actions ){
        alert( actions ); 
    }
});
在主干网中,您没有数据库连接等,但使用Rest与备份服务器交互

我建议您按照以下屏幕广播进行操作,以准确地解释什么是主干: