通过API将Angularjs集成到django项目中
Angularjs integration into django project with API
我已经看到了一些关于这个话题的问题,尽管我仍然没有找到我想要的答案。
什么是实现AngularJS应用程序与django交互的正确方法?根据我的理解,这个计划应该是这样的:
- 使用django-restful来开发一些api。它将是可用的。/api/v1/任何/app
- 右分离AngularJS中与api交互的代码。
- 变魔术:Django可以通过Django router从/开始使用。AngularJS页面应该如何加载到客户端?我应该写额外的TemplateView来允许angularjs部分加载在客户端为/?如何完整的url(例如/post/将被路由)?据我所知,在angularjs中有一个单独的路由器。它应该在web服务器部分分开吗?例如,/api是由nginx处理到django和/是处理到静态加载angular?
我还需要使用django-angular吗?如果angular不被集成到django模板中,而是完全分离出来,看起来可能会更好。是这样吗?
也许我脑子里有点混乱。
我一直在成功地使用Django Rest框架和AngularJS,下面是我是如何做到的:
- 将angarjs作为静态文件从www.yourdomain.com提供。这是很容易用nginx或apache完成。 接下来,通过api.yourdomain.com访问Django Rest框架,这也是一个简单的配置。
你也可以让Django提供静态文件(AngularJS),但我认为这是一种不必要的复杂方法。
如果实现此解决方案,请注意跨cors错误。当你的angularJS(来自www.yourdomain.com)试图从另一个域(api.yourdomain.com)访问一个服务(Django Rest Framework)时,就会发生这种情况。这个问题可以很容易地修复使用几行额外的服务器配置(nginx的例子)
相关文章:
- 正在将数据主题添加到所有项目
- 没有在django项目中加载CSS文件
- Django项目中第三方静态文件的推荐目录布局是什么
- 具有项目特定函数的循环的 Django 模板的最佳实践
- 如何存储JQuery提交的变量,并在Python/Django项目的后期重用它
- 一次添加一个项目到“;推车”;在Django、Ajax和Jquery中使用复选框
- 外部javascript/jquery不会在django项目内部加载
- 删除django中列表中项目的引号以获得高图表
- 如何在django中包含来自项目根目录之外的静态文件
- django select2插件中所有选定项目的列表
- 通过API将Angularjs集成到django项目中
- 请求.cookie vs文档.django项目中的Cookie
- 在Django项目中,将多个JavaScript文件合并并压缩为一个文件
- 在Django项目中使用typeahead.js
- 使用ajax和django在for循环中删除一个项目
- 在实际的项目环境(Django)中,鼠标在后台移动的示例不起作用
- 如何在Django项目中导入JavaScript模块
- 在Django项目中使用Ajax的好指南
- django项目中的Javascript测试,包括CI和覆盖率
- 在Django项目中使用ChaplinJS