tsu*_*ino 19 django rest routes angularjs
我正试图将像AngularJS这样的客户端框架与Django结合起来.令我困惑的一件事是路线和REST的问题.
我一直试图在网上阅读很多,但文档是有限的,特别是在Django与Angular(这里或那里的小片段)相结合方面.我知道我需要添加像TastyPie这样的REST框架,以便在我的应用程序中创建一个强大的REST接口,以便Angular插入并获取资源.
但是,我很困惑如何正确地映射我的路线,以便(1)我的服务器端应用程序可以渲染我的单页应用程序(SPA)与角度插入(2)路由应该加载信息/渲染模板(角度)和从服务器(django)检索数据不冲突.就像我有人在我的网站上进行site.com/user/1234一样 - 该路由与Angular路由和Django路由相关联 - 除了一个呈现模板而另一个根据从中检索到的内容吐出JSON DB /服务器.
另外,通过使用REST api,我是否放弃了使ModelForms与我的模型等同步的许多优点?有没有办法用AngularJS维护这个,或者我必须看看AngularJS的替代品.
sha*_*ker 23
这个问题并不是专门针对Django的 - 只是理解SPA中后端和前端之间的关系.
后端和前端之间的路由不重复.您的Django路线应设置如下:
/api/foo
/api/bar
...
Run Code Online (Sandbox Code Playgroud)
和一个单一的,提供了一个路线单一页面完整的HTML谐音,例如
/
Run Code Online (Sandbox Code Playgroud)
其余路线将在Angular中定义,例如
/articles/234
/blog/date/slug
...
Run Code Online (Sandbox Code Playgroud)
处理这些面向公众的路由的Angular控制器将依次对API URL进行$ http调用,并且每个将传递一个Angular部分.所以没有重复,没有重叠.
对于问题的第二部分,您仍然可以在构建API数据时使用Django ORM模型关系,但是,在构建前端时,您将失去所有Django的优点.
如果您正确构建API,则每个视图中所需的所有数据都将完全出现在Angular在该视图中使用的JSON提要中.因此,您正在使用ORM进行后端数据构建,但您不能仅在没有先准备后端数据为其提供数据的情况下决定遍历模板中的模型关系.
是的,这是一种非常不同的思考方式,是的,它比直接使用Django(或Rails)要复杂得多.这是构建Web应用程序而非网站的成本.
| 归档时间: |
|
| 查看次数: |
4366 次 |
| 最近记录: |