我想知道是否有类似Django的简易网页应用程序开发与良好的部署,调试和其他工具相结合?

Django是一个非常高效的框架,用于构建内容密集的站点; 与一些Java怪物相比,我尝试过的最好的和新鲜空气。 然而,它是用Python编写的,这意味着在部署/打包,调试,分析器和其他工具方面几乎没有真正的支持,这使得构建和维护应用程序变得更加容易。

Ruby有类似的问题,虽然我比Ruby 喜欢Ruby,但我得到的印象是,在管理/支持应用程序时,Rails与Django大致相同。

有没有人在这里尝试过Django和Grails(或其他Web框架)的非平凡项目? 他们是如何比较的?

===============>>#1 票数:30 已采纳

你问过一个同时使用Grails和Django的人。 我已经完成了大项目的工作。 这是我的想法:

IDE: Django在Eclipse中运行得很好,Grails在IntelliJ Idea中运行得非常好。

调试:几乎相同(假设您使用IntelliJ for Grails,Eclipse使用Python)。 步骤调试,检查变量等......永远不需要打印语句。 有时django错误消息可能没用,但Grails错误消息通常很冗长且难以解析。

是时候进行单元测试了: django:2秒。 Grails:20秒(测试本身都在几分之一秒内完成,这是关于加载框架以运行它们的部分,其余部分......正如您所看到的,Grails的加载速度令人沮丧)。

部署: Django:将一个文件复制并粘贴到apache配置中,然后重新部署,只需更改代码并重新加载apache即可。 Grails:创建.war文件,在tomcat上部署,冲洗并重复以重新部署。

编程语言: Groovy非常棒。 我喜欢它,比Python更受欢迎。 但我当然没有抱怨。

插件: Grails:许多破碎的插件(并且可以使用每个java lib)。 Django:一些稳定的插件,但足以完成你需要的大部分工作。

数据库: Django:使用South的模式迁移,以及通常直观的关系。 Grails:没有模式迁移,默认情况下它会在启动时删除数据库... WTF

用法: Django:初创公司(特别是在Gov 2.0领域),独立的网络开发商店。 Grails:企业

希望有所帮助!

===============>>#2 票数:10

grails在启动时删除数据库的说法完全错误。 它在启动时的行为是完全可配置的,易于配置。 我通常在开发模式下运行应用程序时使用create-drop。 我在测试和生产中运行时使用更新。

我也喜欢自举处理,它允许我通过Grails中的环境预先配置测试用户,数据等。

我很乐意看到有人真正建立并部署了一些商业项目评论利弊。 是一个非常有趣的读物。

===============>>#3 票数:10

Grails的。

Grails看起来像Rails(Ruby),但它使用比java更简单的groovy。 它使用java技术,你可以毫无困难地使用任何java lib。

我也选择Grails而不是简单,并且有很多java lib(例如jasper report,jawr等),我很高兴现在他们加入SpringSource,这使得他们的基础扎实。

===============>>#4 票数:10

然而,它是用Python编写的,这意味着在部署/打包,调试,分析器和其他工具方面几乎没有真正的支持,这使得构建和维护应用程序变得更加容易。

Python有:

  1. 一个很棒的交互式调试器 ,可以很好地利用Python REPL
  2. easy_install anv virtualenv用于依赖管理,打包和部署。
  3. 与其他语言相比的分析功能

所以恕我直言,你不应该担心这些事情,使用Python和Django,并愉快地生活:-)

幸运的是,最新版本的Django在Jython上运行 ,所以你不需要抛弃整个Java生态系统。

说到框架,我今年进行了评估:

  1. 挂架 (Python)
  2. webpy (Python)
  3. Symfony (PHP)
  4. CakePHP (PHP)

这些框架都没有接近Django或Ruby on Rails的强大功能。 基于我的同事意见,我可以推荐你kohana框架。 缺点是,它是用PHP编写的,据我所知,PHP没有出色的工具来调试,分析和打包应用程序。

编辑:这是一篇关于Python应用程序 (特别是Django应用程序)的打包和部署的非常好的文章 这是Django社区的一个热门话题。

===============>>#5 票数:3

我有两个朋友最初开始使用Ruby on Rails编写应用程序,但遇到了许多问题和限制。 经过大约8周的研究,他们决定调查其他替代方案。

他们选择了Catalyst Framework和Perl。 那是大约4个月前的事了,他们一再谈到应用程序的进展程度,以及它们的灵活性。

使用Perl,您可以使用所有CPAN,以及包含的大量工具。 我建议至少看看它。

===============>>#6 票数:3

对于Python来说,“良好部署”问题并不具备Java的深层意义。

Django的Python部署基本上是“移动文件”。 如果需要,您可以直接从subversion trunk目录运行。

你可以毫不费力地使用Python distutils并自己构建一个分发工具包,将你的Django应用程序放入Python的网站包中。 我不是它的忠实粉丝,但它真的很容易做到。

由于我的东西在Linux中运行,我有简单的“install.py”脚本,可以将Subversion目录中的东西移到/opt/this/opt/that目录中。 我在Apache配置中使用显式路径设置来命名应用程序所在的目录。

可以通过编辑适当的文件来完成修补。 (一个糟糕的政策。)我更喜欢在SVN位置编辑并重新运行我的小安装,以确保我确实控制了所有文件。

===============>>#7 票数:1

cakephp.org

Cakephp非常好,非常靠近轨道上的红宝石(1.2)。 它在PHP中,在共享主机上运行良好,易于实现。

唯一的缺点是文档有点缺乏,但你很快得到它并迅速开始做很酷的东西。

我完全推荐cakephp。

===============>>#8 票数:1

我个人用Django做了一些相当大的项目,但我只能比较所谓的“montrosities”(Spring,EJB)和真正的低级别的东西,比如Twisted。

使用解释语言的Web框架大多处于初期阶段,而且所有这些(积极维护,即每天)都在变得越来越好。

===============>>#9 票数:1

通过“良好部署”,您将它与Java的EAR文件进行比较,这些文件允许您通过将单个文件上载到J2EE服务器来部署Web应用程序吗? (在较小程度上,WAR文件; EAR文件可以包含依赖项目的WAR文件)

我不认为Django或Rails已经达到了这一点,但我可能错了...... zuber指出了一篇关于Python方面的更多细节的文章。

Capistrano可能会帮助Ruby方面。

不幸的是,我还没有真正使用Python或Ruby,所以我无法帮助分析器或调试器。

  ask by community wiki translate from so

未解决问题?本站智能推荐:

2回复

Web Dev。 RAD Web App Dev的框架。 在最短的时间内(Yii vs. Django)

我用Google搜索并发现没有什么兴趣,现在我和我的团队知道/部分知道(Codeigniter,Yii)和Django(Python框架),现在在使用codeigniter过去1年之后我们注意到我们不是那个高效,我们仍然需要重复编码大部分内容(评论系统,图像上传,评级,投票等)(你可以称之为渐进
2回复

Python框架:网站/ CMS与应用程序?

我对“网络应用程序”的含义感到有些困惑。 即Django将自己定位为“网络框架”,用于开发“网络应用程序”,与金字塔的描述非常相似。 我正在寻找的是一个具有浏览器界面但非常受数据库驱动的应用程序的框架。 简而言之:它是一个应该处理事务和订阅的系统。 这些事务通过Web界面注册。 后端包
2回复

django内置评论

我正在使用此示例中提供的内置注释框架中的djangos: https ://docs.djangoproject.com/en/1.3/ref/contrib/comments/example/还有一个示例代码,说明如何实现基本的注释提交表单{% render_comment_form for
3回复

Django + js框架

我想使用Django开发Web应用程序,但无法决定要使用哪个javascript框架。 也许你们中的一些人已经开发了Django + JS Framework应用程序? 我个人更喜欢JQuery,因为它既简单又快速,但是Dojo之类的其他库具有如此出色的功能和小部件。 我想切换到它! 你
2回复

Django URL错误

我是django的新手,正在阅读教程,上面有一个示例,但我认为它是Django的旧版本,现在我在使用Django 1.4 和urls.py文件
2回复

django通用模板

因此,通用视图非常酷,但我感兴趣的是一个通用模板。 所以,例如,我可以给它一个对象,它只是为我提供它。 或者,如果我给它一个列表,它只会迭代对象并将它们串起来作为ul(或tr,或其他任何它认为必要的)。 对于大多数用途,你不需要这个。 我只是快速地为朋友扔了一些东西(一个酒吧
1回复

Django表格验证概述(快!)

有关于Django Form验证的相当精确的文档(从Django 1.10开始),我已经成功使用它,所以我的问题是什么? 我的问题是记住这些东西。 该框架涉及冗余,不规则,一些非显而易见的名称,当然还有很多幕后自动化,我似乎无法将其保留在我的脑海中。 有人可以提供比原始文档扫描
1回复

无法启动Django应用

我是Django的新手,每次尝试运行(myvenv) C:\\Users\\lenovo> python manage.py startapp blog它都会给我错误: 难道我做错了什么?
2回复

Django在本地主机以外的其他网址上[重复]

这个问题已经在这里有了答案: 如何指定Django测试服务器应监听哪个eth接口? 3个答案 我有一个服务器aerv.nl。 它具有django(python框架),但是当我运行django服务器时,它说:服务器在以下位置启动: http : //127.0.0
1回复

Django为什么不支持单表继承?

决定不支持Django中的单表继承的背后原理是什么? STI是否设计不好? 是否会导致性能下降? 它会与Django ORM发生冲突吗? 只是想知道,因为它已经有十年之久了,所以必须做出一个明智的决定,即永远不会支持它。