我想到了一个项目,值得最终投入编程。

在阅读了很多东西之后,在这里和其他地方,我开始将Python成为我现在在C#或Java上学到的python。最让我相信的是保罗·格雷厄姆(Paul Graham)在编程语言和LISP上的短途旅行,尽管ARC处于实验阶段,这对我现在没有帮助我进行此Web应用程序。

至于Web应用程序,我已经检查了Django,Turbo Gears和Py2Web。尽管花了很多时间阅读,但我仍然不知道我应该使用哪个。

1)Django 当然,在线形象最好,并且在现场教程中做得很好,他们肯定知道如何炫耀自己的东西。

2)web2py 它不需要安装,使我吸引了我,并要求使Django看起来很复杂。但是,当您在他们的网站上进行挖掘时,您很快就会发现多年来没有更新的内容因损坏的外部链接而没有更新……该网站上有幽灵,使某人对项目不熟悉的人不熟悉该项目,如果可能会持平的话。

3)涡轮齿轮 ...我猜它也是模块化。写关于它的人喜欢它...我找不到任何特定的东西,可能会使它在django上特别。

我尚未决定IDE,尽管我在此处阅读了Intellisense代码完成帖子的所有答案。显示额外的代码片段对于像我这样的菜鸟来说也很酷,但是我想我应该先选择我的网络框架工作,然后选择一个可以很好地使用的编辑器。

由于可能没有任何框架是最好的一切,因此我会在我想构建的应用程序上提供一些细节:

它将使用MySQL,需要寄存器/登录,并且将对来自输入和SQL查询的数据进行大量的数学操作。我已经完成了Excel中的功能原型,因此我确切地知道我想构建的内容,我希望这能帮助我克服杂物。我将成为一个小应用程序,没什么大不了的。

而且我不想在构建时看到任何HTML ;-)

PS:感谢跑步stackoverflow的人,也在正确的时刻找到了这个地方!

有帮助吗?

解决方案

您应该查看Web2py在线文档(http://web2py.com/book)。它带有基于角色的访问控制(最通用的访问控制机制),并且非常颗粒状,您可以在特定记录上授予特定操作的访问权限。它带有基于网络的IDE,但您可以使用 温德, Pycharm 也。它带有辅助系统,使您无需使用HTML就可以生成HTML。这是一个完整应用程序的示例,该应用需要用户注册/登录/发布消息:

db.define_table('message',Field('body'),Field('author',db.auth_user))
@auth.requires_login()
def index():
    db.message.author.default=auth.user.id
    db.message.author.writable=False
    return dict(form=crud.create(db.message),
                messages=db(db.message.id>0).select())

从更改列表中可以看到,Web2PY项目非常活跃 http://code.google.com/p/web2py/source/list

如果您有与Web2PY相关的问题,我强烈建议您加入Web2py邮件列表:http://groups.google.com/group/web2py/topics

我们非常活跃,您的问题将很快得到回答。

其他提示

我不得不说不是特别熟练的开发人员,我能够使用web2py创建的速度使我震惊。在很大程度上,由于令人惊叹的社区和Massimo的核心价值使该框架可以访问。

当我开始时,我在Python中写了0行代码,从未听说过Web2py

我已经认真对待了大约一个月,并且(以我的通常方式)提出了一个问题,没有人可以回答(因为它们没有任何意义)一次,而无需拿起书编码几个小时或问一个问题。

我真的留下了深刻的印象。

我在Django有积极的经验。

  • 内置身份验证和易于使用的扩展名 registration
  • 非常好的文档
  • 您可能会写出HTML模板 base.html, ,然后只使用模板继承(注意:您需要至少写一点html)
  • 与Turbogears相反,Django更加“开箱即用”
  • 我对Web2py没有任何经验,但是从我的印象中,它试图做一些“开箱即用”

如果您决定使用Django,请确保使用其通用视图。他们将使您免于编写Python和HTML的许多代码。

另外,除非您使用MySQL有一个非常具体的原因,否则我建议您切换到PostgreSQL。 Django更加面向PostgreSQL,无论如何它还是一个更好的数据库。

在线Django文档很棒,这就是除其他所有框架之外。我也推荐这本书 实用的Django项目 詹姆斯·贝内特(James Bennett)

  • Django:听说它具有最好的管理界面。但是使用它自己的ORM,即不使用SQL-Alchemy。

  • Web2py:没有研究。

  • turbogears2:默认使用SQL-Alchemy,使用时装秀作为管理接口,但文档并不那么好。

我之所以选择turbogears2,是因为它使用了流行的组件,所以我不必学习任何新知识...

我已经广泛使用了Web2py和ROR,尽管ROR在过去几年中获得了很多知名度和支持,但Web2py更简单,更干净,更含糊,但也提供了更多(有用)的(有用)框功能。我会说Web2py比ROR具有更多的潜力,但这是一个相对较新的框架,但没有ROR的成熟度。 (尽管如此,我还是每天都选择web2py ...)

如果您“不想在构建时看到任何HTML”,那么您可能会忘记Django。它不专注于“点击点击”,而是专注于在最短的时间内从概念到生产的专业人士。模板语言的层次结构性质会导致一些非常干净的整体场地布局。我将Django用于所有较大的网站,我喜欢它。

尽管它是用PHP编写的,而不是Python,但您可以看一下主要的新版本 WordPress 大约2或3个月前出现了。在3.0中,他们距离“仅博客”环境已经走了很长一段路,并且有很多现成的模板。当然,如果您想调整模板,那么,又有一个讨厌的旧html。我正在考虑将其用于我的较小客户,该客户无法处理专用服务器等的管理员,该服务器往往会带来Django网站。

更新:啊,我错过了半笑话 - 我还为时过早,这往往会使我的语气充耳不闻。至于使用现有站点的模板,我已经在几个站点上成功地完成了此操作,包括静态的网站,以及最初由写得很好的PHP脚本驱动的网站。我建议仔细阅读 {% extends %}{% include %} 文档。两者都采用字符串字面 或者 一个变量。我已经使用了以后的方法,对于具有强大层次结构的站点,以各个分支机构的样式变化为特色,它可能非常有用。

还值得了解模板的搜索顺序 - 可以用来良好的效果,但是如果您不掌握它,它可能会令人困惑。查看与模板相关的项目 settings.py 为此申请和其他有用的好东西。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top