通过API将Angularjs集成到django项目中

Angularjs integration into django project with API

本文关键字:django 项目 集成 API Angularjs 通过      更新时间:2023-09-26

我已经看到了一些关于这个话题的问题,尽管我仍然没有找到我想要的答案。

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

根据我的理解,这个计划应该是这样的:

    使用django-restful来开发一些api。它将是可用的。/api/v1/任何/app
  1. 右分离AngularJS中与api交互的代码。
  2. 变魔术:Django可以通过Django router从/开始使用。AngularJS页面应该如何加载到客户端?我应该写额外的TemplateView来允许angularjs部分加载在客户端为/?如何完整的url(例如/post/将被路由)?据我所知,在angularjs中有一个单独的路由器。它应该在web服务器部分分开吗?例如,/api是由nginx处理到django和/是处理到静态加载angular?

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

也许我脑子里有点混乱。

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

  1. 将angarjs作为静态文件从www.yourdomain.com提供。这是很容易用nginx或apache完成。
  2. 接下来,通过api.yourdomain.com访问Django Rest框架,这也是一个简单的配置。

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

如果实现此解决方案,请注意跨cors错误。当你的angularJS(来自www.yourdomain.com)试图从另一个域(api.yourdomain.com)访问一个服务(Django Rest Framework)时,就会发生这种情况。这个问题可以很容易地修复使用几行额外的服务器配置(nginx的例子)