2

读完这篇关于分离服务器和客户端的文章后,分离 REST JSON API 服务器和客户端? 我想知道Django中是否也存在这个问题。

在 Django 中,这是两种不同的现象吗?

  1. Django 是 MVC。取出视图,将 django 作为后端,然后发送 JSON。创建一个单独的说 Emberjs 或 Angularjs 应用程序。让这些客户端访问后端的 REST 资源。在这种情况下,如何将项目放在一起部署到 Heroku?您可以将“JAVASCRIPT-HEAVY-CLIENT”部署到 Heroku,然后让它与您的 REST 服务器通信吗?

  2. 既然django是MVC,不要完全把view拿出来,而是把Emberjs/Angularjs集成到View里面,还用REST资源?这样就可以把所有的angularjs components/js文件放到static文件夹下,部署到Heroku上。

这些是一样的吗?实际上,您如何将它们组合在一起以便能够部署到 Heroku?

4

1 回答 1

2

Heroku 是一个应用服务器平台。它并不是真正为提供静态代码而设计的。

我之前采用的方法是正常构建 Django 部分,并有一个单一视图,为 JS App 根目录下的所有内容提供引导模板。

假设我有一个 {Angular,Ember} 应用程序mydomain.com/app/,那么它下面的所有内容都将服务于引导模板(包括从数据库查询的序列化值)并调用 JS boostrap 方法来启动你的应用程序,然后应用程序接管来自那一点,并呈现出它的观点。

此时,视图的所有数据都来自 django-rest-framework/django-tasypie。

使用这种方法并利用 django-pipeline 和 django-boto 的 S3 存储后端,您应该能够使用 Django 和 {Angular,Ember} 为一个体面的项目提供服务

于 2013-10-04T02:36:34.747 回答