javascript - Angularjs 使用 API 集成到 django 项目中

标签 javascript python angularjs django nginx

我已经看到一些关于这个主题的问题,但我仍然没有找到我正在寻找的答案。

实现 AngularJS 应用程序与 django 交互的正确方法是什么?

据我了解,计划应该是这样的:

  1. 使用 django-restful 开发一些 api。它将可用,例如 /api/v1/无论什么/应用程序
  2. 将与第 1 步中的 api 交互的 AngularJS 代码从右侧分开。
  3. 施展魔法:Django 可用于从/开始的 django 路由器。 AngularJS 页面应该如何加载到客户端?我是否应该编写额外的 TemplateView 以允许在客户端为/加载 angularjs 部分?多完整的 url(例如/post/将被路由)?据我了解,angularjs 中有单独的路由器。它应该在网络服务器部分分开吗?例如。/api 由nginx 处理给django 和/处理给static 来加载angular?

我是否需要使用 django-angular?如果 angular 不集成到 django 模板中并且它将完全分离,看起来可能会更好。是这样吗?

也许我脑子里有点困惑。虽然没找到相关解释here .

最佳答案

我一直在成功地使用 Django Rest Framework 和 AngularJS,下面是我是如何做到的:

  1. 将 AnguarJS 作为来自 www.yourdomain.com 的静态文件提供。这是 使用 nginx 或 apache 轻松完成。
  2. 接下来,通过 api.yourdomain.com 访问 Django Rest Framework,这也是一个简单的配置。

您也可以让 Django 提供静态文件 (AngularJS),但我认为这是一种不必要的复杂方法。

如果您实现此解决方案,请注意交叉 CORS 错误。当您的 angularJS(来自 www.yourdomain.com)试图从另一个域(api.yourdomain.com)访问服务(Django Rest Framework)时,就会发生这种情况。 使用几行额外的服务器配置 ( nginx example ) 可以轻松解决此问题

关于javascript - Angularjs 使用 API 集成到 django 项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33268450/

相关文章:

javascript - Bootstrap3 中列宽之和大于 12 时出现奇怪的效果?

angularjs - 如何将 ng-href 与绝对 url 一起使用?

javascript - 取消静音背景视频的按钮

javascript - Ajax 调用后脚本无法正常运行

python - 在 Pandas 中查找一列值在另一列值中的位置的矢量化方法

python - 如何最佳地计算python列表中的元素

python - cx_Oracle.DatabaseError : DPI-1039: statement was already closed

angularjs - Angular $compile 外部模块

javascript - 在 ng-view 中加载新路由时,选项卡 (tabindex) 定位到错误的元素

javascript - 未捕获( promise )错误 : Container is not defined