阅读了这篇关于分离服务器和客户端的文章后,分离 REST JSON API 服务器和客户端?我想知道这个问题是否也存在于 Django 中。
在 Django 中,这是 2 个独立的现象吗?
-
Django 是 MVC。取出视图,将 django 作为后端,然后发送 JSON。创建一个单独的 say Emberjs 或 Angularjs 应用程序。使这些客户端访问后端的 REST 资源。在这种情况下,如何将项目放在一起以部署到 Heroku?你能不能只在Heroku上部署一个"JAVASCRIPT-HEAVY-CLIENT",让它与你的REST服务器通信?
-
既然 Django 是 MVC,不要完全去掉视图,而是将 Emberjs/Angularjs 集成到视图中,但仍然使用 REST 资源?通过这种方式,您可以将所有 angularjs 组件/js 文件放入静态文件夹中并部署到 Heroku。
这些是一样的吗? 实际上,您如何将它们放在一起以便能够部署到 Heroku?
Heroku是一个应用服务器平台。它并不是真正为提供静态代码而设计的。
我之前采取的方法是正常构建 Django 部分,并有一个单一视图,为 JS App 根目录下的所有内容提供引导模板。
假设我有一个 {Angular,Ember} 应用程序生活在 mydomain.com/app/
上,那么它下面的所有内容都将提供引导模板(包括从数据库查询的序列化值)并调用 JS boostrap 方法来启动您的应用程序,然后应用程序从该点接管路由,并呈现它的视图。
此时,视图的所有数据都来自 django-rest-framework/django-tasypie。
使用这种方法并利用django-pipeline和django-boto的S3存储后端,你应该能够使用Django和{Angular,Ember}为一个体面的项目提供服务