分类Django + AngularJS真实世界的例子

时间:2014-12-01 14:06:18

标签: django angularjs integration separation-of-concerns

我正在与Django和AngularJS合作开展一个项目。我对这两者都有一点经验,但我从来没有把它集成到另一个中,而且我很难找到真实世界的例子,(除了教程,库和入门套件),这将有助于我下一个级别。

我想阅读代码以查看所有使用的工具(构建资产,部署,...),项目布局,特定问题的答案等等。我认为我已经达到了阅读教程的目的。够了。

我想在构建应用时阅读其他人的代码。

我找到了来自Django-Angular的文档,“两勺Django”和good seed的良好切入点,但是要构建真实项目这还不够。

我很乐意看到包含以下信息的示例:

  • 资产构建系统(Django-pipeline,Grunt,Gulp,其他?)
    • Javascript,Coffee,Rapyd,Pure,其他?
    • Html,Jade,其他?
    • Bootstrap,没有框架,其他?
  • REST api (Django-Rest-Framework,其他?)
  • 3路数据绑定(是/否)
  • 使用Djangular / Django-angular (是/否)
  • 许多Django应用(是/否)
  • 部署自动化(是的,主要工具/否)
  • 正在投放生产:可见演示?
  • 自己的文档(是/否)
  • Django和Angular版本
  • 其他特征

我将用前面提到的种子给出一个例子答案,因为它只是种子而不能令人满意。

谢谢!

2 个答案:

答案 0 :(得分:3)

DjangoAngularBootstrapGulp - Cookiecutter种子

大河

Taiga是一个以scrum为目标的管理工具(免费帐户)。它分为多个部分,后端使用Django编写,前端使用 AngularJS。还包括一个ncurses客户端。

真实世界 - 有很多堆栈的完整堆栈Medium.com克隆(其中Django,Angularjs,Angular2,Vuejs,...)

Pootle(Django + Backbone)

Pootle是社区本地化服务器。它是一个在线工具,使翻译过程变得更加简单。它允许众包翻译,简单的志愿者贡献,并提供有关正在进行的工作的统计数据。

后端是用Backbone中的前端Django编写的(对不起,这个帖子很小!)。

答案 1 :(得分:1)

我在一个项目中同时使用AngualarJS和Django工具,但这两个工具都不相关,因为它们没有对相同的情况进行处理。

当你说“将一个集成到另一个”时,我不确定你要做什么,但这是让它们协同工作的一种方法:

  • 您创建一个Django应用程序,并编写REST API(使用DRF,Tastypie,Restless等)。
  • 您创建了一个AngularJS应用,并使用$ http
  • 调用服务器的Web服务

编辑:

如果您希望避免使用例如数据验证来复制代码,则可以在“服务器级别”进行验证,而不是在“表单”级别进行验证。让我解释一下:

当您在Django中进行表单验证时,您可以在“客户端”进行验证(这在技术上并非如此,但从未明白过)。因此,如果你在AngularJS中有另一个应用程序,当然你将无法重用你在Django中放置的验证逻辑。

但是,如果您决定在模型中处理验证,作为业务逻辑的一部分,并且您为angularJS客户端使用web服务,那么会发生以下情况:

  • 当您尝试使用Django页面提交表单时,业务逻辑称为
  • 当您尝试使用AngularJS向服务器API提交包含数据的POST请求时,将调用相同的业务逻辑。

这样,您的两个“客户”都有一个业务逻辑。

但是如果你想要执行前端验证,当然你需要为N个客户编写N个验证。