布局Angular/Django应用程序的最佳实践

Jas*_*oyd 10 django project-setup angularjs

我对Django和Angular都很新.我认识到这是主观的,并且可能有很多方法可以实现,但我想知道人们可以推荐哪些最佳实践来布置这样的应用程序.我特别想到丰富的SPA,后端主要或完全是一个RESTful API服务器,但是我想为任何提供Django重要视图的应用程序提供一个通用的方法.(我没有做足以决定后者是否使用Angular或者可能比其价值更麻烦).

特别:

将前端代码保存在与后端相对的单独目录/存储库中的优缺点是什么,比如说,在Django应用程序的"静态"子目录中?在我的情况下,我现在是唯一的开发人员,这对这个决定有一些影响,但我仍然可以认为自己是后端,前端,设计师等的独立"团队",因为我的工作流程将是让我一次成为这些角色之一.

我的设置基本上是一个开发机器,GitHub中的SCM,并在WebFaction(共享Web托管)上公开托管.我想在不同的开发机器上轻松抓住项目,但主要工作流程只是一个开发人员,一个prod安装.也就是说,我对实际项目中的最佳实践感兴趣,因为我希望未来的工作可能与Django合作.

补充:我非常不确定的另一点是Angular应用程序是否应该/必须由Django引导.也就是说,首页应该由Django提供并注入任何数据?

优点:

  • 可以配置URL路径甚至API端点,这些路径甚至可以从开发变为生产,而不需要任何备用配置,也不需要在前端进行硬编码.
  • 这可能是验证所必需的?我还不清楚还没有这样做......
  • 允许使用Django调试工具栏应用程序等工具.

缺点:

  • 将前端与后端相结合.如果我想换掉后者怎么办?如果我希望前端在带有模拟数据的沙箱中工作怎么办?
  • 似乎非常赞成将所有 Angular内容移动到Django应用程序布局中.同时,我不喜欢在一个地方混合使用Angular部分,而在另一个地方混合使用Django模板.我已经决定不混合NG和DJ模板,因为我不相信会有太多好处.

Sla*_*mac 4

我也开始作为 Django 的独立开发人员使用 AngularJS FE。我已将 AngularJS 文件放在静态文件夹中,一切都很好。

缺点肯定是您将 FE 和 BE 混合在一个项目中,但我认为这应该不重要,因为您是独立开发人员。即使您决定雇用额外的开发人员(以拆分 FE 和 BE 工作),您的工作也不会有任何冲突,因为你们中的一个人将完全独立工作。

对我来说,优点之一肯定是我通过 Django (以及模板)完成了整个登录过程,一旦登录顺利,我就可以提供 FE 的其余部分(整个 AngularJS 部分)。

对于 Django REST,我使用了 TastyPie。它是 Django 的出色 REST 增强功能,并且易于设置。