14

我已经阅读了几篇关于使用新的 JS 框架(如 Backbone.js 或 Ember.js)的文章

我提出了这样的说法:如果我使用像 Backbone.js/Ember.js 这样的 JS 框架,那么我会将逻辑从后端(Django)移动到前端。

因此,Django 真的会只用于它的模型吗?这是否意味着不再需要 Django 视图和 Django 模板,并且 Django 后端有点变成了将由前端使用的“基本”REST API。

你同意?在这种情况下,这是 Django 的目的吗?

将 django 后端转换为 REST API 是在前端使用像 Backbone.js/Ember.js 这样的框架时最合适的用例之一吗?

谢谢。

4

5 回答 5

13

Django 非常适合以这种方式使用,您仍然可以获得管理员、模型、orm 和所有第三方插件。但是,它的速度并不快,因此,如果您正在执行简单的文档级别、非关系 REST 映射,您可能不想查看 node.js 和 mongoDB。

如果您坚持使用 django(就像我们一样,我们喜欢它给我们的结构),您可以使用 REST 插件之一:

如果您只想进行前端开发,请查看后端即服务站点,例如cloudmine.mefirebase.com,它们会为您处理所有后端内容,当然要付出代价。

于 2012-08-01T20:09:04.390 回答
1

一旦您开始考虑单页解决方案和 Javascript 应用程序,Django 可能看起来就没有必要了,但是如果您希望您的网站能够“防故障”,那么开发网站的客户端 Javascript 版本和后端并不是不可能的django 端以防用户或您网站的 javascript 在某种程度上失败。当然,这需要创建您的站点两次,并且在现代浏览器时代可能不需要,但这将是您将两者混合以获得完整解决方案的少数情况之一。

于 2012-08-01T19:01:43.420 回答
0

是的,就是这样。您可以使用它来管理对资源等的身份验证,也可以为您的应用程序使用主视图,但您不需要使用服务器端模板,因为这些框架是为处理 json/xml 响应而设计的。

这就是为什么很多人转向更轻量级的后端/主干或 ember 组合,而不是像 django 这样的完整解决方案。您还可以使用 django 来缓存 json 响应,从而使您的应用程序看起来更快。

于 2012-08-01T18:29:31.950 回答
0

我们正在这样做并使用 django-piston 让您更轻松。

于 2012-08-01T19:45:59.650 回答
0

通常你在 Django 下创建你的整个网站,并且只有一个页面是使用主干.js 的“单个应用程序页面”,通常该页面是一个非常互动的页面,有很多经常发生的小更新,需要非常快速地显示出来用户。这个页面,由于大量的变化和用户交互是在客户端构建的,所以你使用的是他的PC资源而不是服务器的,其余页面可以使用django,因为它为你提供了一个非常稳定和安全的服务端框架

于 2012-08-02T00:47:22.507 回答