Javascript 使用API将Angularjs集成到django项目中

Javascript 使用API将Angularjs集成到django项目中,javascript,python,angularjs,django,nginx,Javascript,Python,Angularjs,Django,Nginx,我看到了一些关于这个话题的问题,尽管我仍然没有找到我想要的答案 实现AngularJS应用程序与django交互的正确方法是什么 据我所知,该计划应该是: 使用django restful开发一些api。它将是可用的。 /api/v1/whatever/app 右键分隔AngularJS代码,该代码将与步骤1中的api交互 魔术:Django可从/开始使用Django路由器。如何将AngularJS页面加载到客户端?我是否应该编写额外的TemplateView以允许在客户端为/加载angular

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

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

据我所知,该计划应该是:

  • 使用django restful开发一些api。它将是可用的。 /api/v1/whatever/app
  • 右键分隔AngularJS代码,该代码将与步骤1中的api交互
  • 魔术:Django可从/开始使用Django路由器。如何将AngularJS页面加载到客户端?我是否应该编写额外的TemplateView以允许在客户端为/加载angularjs部分?完整URL(例如/post/将被路由)的完整性如何?据我所知,angularjs中有单独的路由器。它应该在web服务器部件上分开吗?例如/api由nginx处理到django和/或处理到静态以加载角度
  • 我需要使用django angular吗?如果angular不集成到django模板中,并且它将被完全分离,那么它看起来会更好。是这样吗


    也许我脑子里有点乱。虽然我没有找到相关的解释。

    我已经成功地使用了Django Rest框架和AngularJS,下面是我如何做到的:

  • 将AnguarJS作为来自www.yourdomain.com的静态文件提供。这是 使用nginx或apache轻松完成
  • 接下来,通过api.yourdomain.com访问Django Rest框架,这也是一个简单的配置
  • 您也可以让Django服务于静态文件(AngularJS),但我相信这是一种不必要的复杂方法

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

    如果要使用Django构建API,只需使用端点,只需从API返回JSON对象,并在前端使用AngularJS应用程序中的数据。您可以在AngularJS应用程序中使用SPA或任何其他结构,当然,也可以使用AngularJS路由。在该体系结构中,Django是一个数据提供者。