django或yii用于使用db和自定义表单和报告构建生产Web应用程序

web*_*013 11 django yii

我正在尝试在django和yii之间进行选择,以获得具有数据库(最好是mysql)后端的可扩展,可维护的企业级Web应用程序.该应用主要侧重于数据输入,但具有自定义工作流程(超出您的基本自动生成的crud表单)和自定义报告.我有CS背景,熟悉MVC,c ++编程背景,C#.8年前使用php,mysql,perl/cgi构建了一个类似的应用程序,并记住它很痛苦(从头开始做陡峭的学习曲线).需要再次学习python或php语法,但我很快就会学习语言.在线阅读关于django vs yii的广泛内容.由于需要开源,无法使用.net mvc路由.涉及RoR,喜欢这种语言但我对发生的魔法不太满意,特别是对于生产级别的应用程序.或许在将来.所以回到Django vs yii -

决策因素是:
1)更容易学习曲线
2)更适合我需要的特定任务的框架 - 重型数据库操作,自定义UI流程(没有太多gfx密集型,只是常规表单元素,但我需要通过多个表操作数据)加入等)
3)没有令人讨厌的意外与db连接(读取但不完全理解所有与django orm和mysql的陷阱).
4)我不打算基本事物的框架/语言的东西
5)可扩展和快速运行时间(我知道很多取决于一个架构师的解决方案)

请指教.寻求熟悉在两个框架中工作的人的帮助.非常感谢

trp*_*him 11

我知道这是旧的,但我觉得我可以添加到这个,使用两个框架.

Yii是一个坚实,快速的框架.由于某些事情(例如,跨站点请求伪造保护)未默认启用或强制执行,因此它不像Django那样安全.对我来说,最大的优势就是内置的代码生成器,因为一旦你弄清楚并开始使用它,它基本上会在几分钟内发出一个功能齐全的CRUD应用程序.

Django是我的首选框架,因为Python是Django的最大优势.在PHP上没有破坏,我实际上非常喜欢这种语言,但是Python的干净的面向对象(一个词?),类继承等真的很像Django这样的框架.Django中没有内置代码生成器,这是开发人员的慎重选择.这既是力量,也是弱点.如果你真的想要学习框架,Yii的代码生成器可能会成为一个拐点,但是使用Django,一旦你了解它是如何工作的,你可以进入并改变任何东西,因为你自己构建它,它会强迫你很好地学习框架.使用Yii,当您拥有生成的代码并且必须进行自定义时,那么您可以快速开始对抗框架.

Django的ORM非常灵活,我自己就是一个SQL人员,我认为我在我的应用程序中只使用过一次原始SQL.Yii是相当不错的,但我也在这方面给了Django一个支持,而Django的记录非常好.

根据我的经验,Yii的安装比Django稍微容易一些.Django需要更多的工作来启动和运行.Django的教程比Yii强得多,至少在我开始的时候.


Bra*_*don 9

我的建议是Django.Django中的表单是类,在我过去16年中从事过的所有框架中,从经典的ASP到.NET,Rails和Java,我将Django的表单方式与其中任何一个进行对比.

South使得进行模式和数据迁移非常简单.

我建议使用Postgres而不是MySQL,特别是如果你要利用Django ORM,因为它对Postgres来说更加精细.如果您不需要Django管理员而且必须使用MySQL,那么您可以查看SQLAlchemy和Alembic.

Django的学习曲线非常平坦.它非常容易学习并且记录得非常好.

我的0.02美元.


cod*_*.me 5

Yii很棒。我可以学习它并在几个小时内开始。我在设置 Django 时遇到了困难,因为配置和 URL 映射令人困惑,而这些都需要让一切正常工作。毫无疑问,一旦你学会了 Django,它就会非常出色,但根据我的经验,Yii 更容易学习。

我真的希望有人将 Yii 移植到 python。