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

标签 django angularjs project-setup

我对 Django 和 Angular 都很陌生。我承认这是主观的,可能有很多方法可以做到这一点,但我想知道人们可以推荐哪些最佳实践来布置这样的应用程序。我特别考虑了后端主要或完全是 RESTful API 服务器的丰富 SPA 的情况,但是我想为任何提供来自 Django 的重要 View 的应用程序提供一种通用方法。 (我还没有做足够的事情来决定后者是否值得使用 Angular,或者可能比它的值(value)更麻烦)。

具体来说:

在与后端不同的目录/存储库中维护前端代码与在 Django 应用程序的“静态”子目录中维护前端代码的优点/缺点是什么?就我而言,我现在是唯一的开发人员,这对这个决定有一些影响,但我仍然可以认为自己是后端、前端、设计师等独立的“团队”,因为我的工作流程将一次让我担任这些 Angular 色之一。

我的设置基本上是一台开发机器,GitHub 中的 SCM,并在 WebFaction(共享网络托管)上公开托管。我会想轻松地在不同的开发机器上抓取项目,但主要的工作流程只是一个开发,一个产品安装。也就是说,我对实际项目中的最佳实践很感兴趣,因为我希望 future 的工作可能会与 Django 一起工作。

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

优点:

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

  • 缺点:
  • 将前端耦合到后端。如果我想换掉后者怎么办?如果我希望前端在带有模拟数据的沙箱中工作怎么办?
  • 似乎强烈支持将所有 Angular 的东西移动到 Django 应用程序布局中。同时,我不喜欢在一个地方混合 Angular 部分,而在另一个地方混合 Django 模板。我已经下定决心不要混合 NG 和 DJ 模板,因为我不相信这会有什么好处。
  • 最佳答案

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

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

    对我来说,其中一个优点肯定是我通过 Django 完成了整个登录过程(也是模板),一旦登录成功,我就可以服务于 FE 的其余部分(整个 AngularJS 部分)。

    对于 Django REST,我使用了 TastyPie。对于 Django 来说,这是一个很棒的 REST 增强功能,而且易于设置。

    关于django - 布局 Angular/Django 应用程序的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21855038/

    相关文章:

    javascript - 传递多个参数 UI Bootstrap Modal Window Angular JS 不工作

    javascript - 当 AngularJS 的 bool 值为 TRUE 时显示图像(或图标)?

    c++ - 升级到VS2012后链接器报错的解决方法

    apache-flex - 使用 Maven 在 Eclipse 中设置 Spring BlazeDS + Flex + JBoss 项目

    python - Django 中的模板包含和静态包含有什么区别?

    python - 在 Django 中使用 many=True 截断模型序列化程序的长度

    angularjs - 我遇到了 phantomjs 和 karma 问题

    open-source - 我应该在项目中提供 LICENSE.txt 或 COPYING.txt 文件吗?

    python - Django Admin 中一对一字段的过滤结果

    django - 如何记录pymongo查询?