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

栏目: Python · 发布时间: 6年前

内容简介:我也开始在Django上作为BE与AngularJS FE的独奏开发人员.我把AngularJS文件放在静态文件夹中,一切都很好.缺点是你在一个项目中混淆了FE和BE,但我认为这不应该是因为你是独唱开发者.即使你决定雇用额外的开发人员(分开FE和BE工作),你的工作也不会有任何冲突,因为你们中的一个人完全独立.对我而言,其中一个优点是我通过Django完成了整个登录过程(也是模板化),一旦登录正常,我就为其余的FE(整个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模板,因为我不相信会有太多好处.

我也开始在Django上作为BE与AngularJS FE的独奏开发人员.我把AngularJS文件放在静态文件夹中,一切都很好.

缺点是你在一个项目中混淆了FE和BE,但我认为这不应该是因为你是独唱开发者.即使你决定雇用额外的开发人员(分开FE和BE工作),你的工作也不会有任何冲突,因为你们中的一个人完全独立.

对我而言,其中一个优点是我通过Django完成了整个登录过程(也是模板化),一旦登录正常,我就为其余的FE(整个AngularJS部分)提供服务.

对于Django REST,我使用了TastyPie.这是Django的REST增强功能,易于设置.

翻译自:https://stackoverflow.com/questions/21855038/best-practices-for-layout-out-angular-django-apps


以上所述就是小编给大家介绍的《布局Angular / Django应用程序的最佳实践》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

网络是怎样连接的

网络是怎样连接的

[日]户根勤 / 周自恒 / 人民邮电出版社 / 2017-1-1 / CNY 49.00

本书以探索之旅的形式,从在浏览器中输入网址开始,一路追踪了到显示出网页内容为止的整个过程,以图配文,讲解了网络的全貌,并重点介绍了实际的网络设备和软件是如何工作的。目的是帮助读者理解网络的本质意义,理解实际的设备和软件,进而熟练运用网络技术。同时,专设了“网络术语其实很简单”专栏,以对话的形式介绍了一些网络术语的词源,颇为生动有趣。 本书图文并茂,通俗易懂,非常适合计算机、网络爱好者及相关从......一起来看看 《网络是怎样连接的》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

URL 编码/解码
URL 编码/解码

URL 编码/解码

SHA 加密
SHA 加密

SHA 加密工具