我对Django和Angular都不太了解。我知道这是主观的,可能有很多方法可以实现。但我想知道人们能推荐什么最佳实践来布置这样一个应用程序。我特别考虑的情况是富SPA应用,后端主要或完全是RESTful API服务器,但我希望有一个通用的方法来为任何使用Django服务的重要视图的应用指定一种方法。(我还没做足够的准备来决定是否值得使用Angular,或者会比其价值更大的麻烦)。
具体而言:
将前端代码维护在与后端分离的目录/存储库中与将前端代码放在Django应用程序的“静态”子目录中相比,有什么优缺点?在我的情况下,现在只有我一个开发人员,这个决定有一些影响,但我仍然可以将自己视为独立的“团队”,包括后端、前端、设计师等等,因为我的工作流程将使我在其中一个角色中起作用。
我的设置基本上是一个开发机器,GitHub中的源代码管理,以及在WebFaction(共享Web托管)上公开托管。在未来,我将希望轻松地在不同的开发机器上获取项目,但主要的工作流程只是一个开发人员、一个生产安装。话虽如此,我对现实项目中的最佳实践感兴趣,因为我希望将来的工作可能是与Django一起工作。
添加:另一个我非常不确定的问题是Angular应用程序是否应该/必须由Django引导。也就是说,前台页面是否应该由Django提供,并注入任何数据?
优点:
- 可以配置URL路径和甚至是从开发到生产变化的API端点,而无需进行任何备用配置,也无需在前端硬编码。
- 这可能对身份验证有所帮助?对我来说还不清楚,因为我还没有做过这个...
- 允许使用像Django调试工具栏应用程序这样的工具。
缺点:
- 将前端代码和后端代码耦合在一起。如果我想要交换后者怎么办?如果我想让前端在模拟数据的沙盒中工作怎么办?