我计划将PHP应用程序移植到Python。该应用程序主要是关于数据收集和处理。主应用程序作为独立的命令行应用程序运行。应用程序有一个Web界面,它基本上是一个非常轻量级的报告界面。

我没有在PHP版本中使用框架,但是对Python来说是新手,我想知道使用像Django或者至少Genshi这样的东西是否有利。需要注意的是,我不希望我的应用程序分发被我需要随应用程序分发的框架部分所淹没。

在Python中只使用cgi导入是这种情况下的最佳方式吗?我倾向于认为一个框架开销过大,但也许我并没有想到一个非常“蟒蛇”的问题。他们的方式。在这种情况下你有什么建议?

有帮助吗?

解决方案

命令行Python,IMO,绝对是第一位的。让它发挥作用,因为这是你正在做的事情的核心。

问题是从命令行应用程序使用Web框架的ORM并不明显。 Django提供了从命令行应用程序使用ORM的具体说明。起初这些都很烦人,但从长远来看,我认为它们可以挽救生命。我大量使用它来上传客户提供的文件。

不要使用裸CGI。这不是不可能的,但是太多的事情都可能出错,并且它们都已经被框架解决了。为什么重塑一些东西?只需使用别人的代码。

框架涉及学习,但没有真正的“开销”。他们并不慢。它们是您无需编写或调试的代码。

  1. 学习一些Python。

  2. 执行 Django 教程。

  3. 开始构建网络应用。

    一个。启动Django项目。在该项目中构建一个小应用程序。

    湾使用Django ORM构建新模型。为模型创建一个Django单元测试。确保它有效。您将能够使用默认的管理页面并进行大量的游戏。只是不要构建整个网站。

  4. 使用Django ORM让您的命令行应用程序正常工作。从本质上讲,您必须精确设置此应用程序的设置文件才能正常工作。请参阅设置/配置部分。

  5. 一旦您的命令行和默认管理员运行,您就可以完成 网络应用。

  6. 这是框架的黄金法则:这是您不必编写,调试或维护的代码。使用它们。

其他提示

你可以考虑使用像 web.py 这样容易分发的东西(因为它很小),它会也很容易调整你的其他工具,因为它不需要你像Django那样提交框架。

但是,预先警告,它不是Python社区中最受欢迎的框架,但它可能只适合您。您也可以查看 web2py ,但我对此了解不多。

取决于项目的规模。如果您之前只有几个PHP脚本调用了您的独立应用程序,那么我可能会选择一个cgi-app。

如果您使用数据库,网址重写,模板化,用户管理等,那么使用框架是一个好主意。

当然,在移植它之前,请考虑是否只需要切换语言或者是否需要特定的Python功能。

祝你好运!

我最近使用 web.py 将PHP应用移植到Python。作为框架,它非常轻量级,具有最小的依赖性,并且它往往会让您不受欢迎,因此它可能是您正在寻找的折衷方案。

这完全取决于您的初始应用程序,因为在大型应用程序中,使用功能全面的框架处理管道的优势往往超过了必须拖拽所有框架代码所带来的缺点。

Django可以快速推出一个网站,这是肯定的。你不需要成为一个Python大师来使用它,因为它的设计非常pythonic,并没有真正的“魔术”。继续,它将帮助你学习Python。

从示例开始,查看TwiD的一些django截屏视频,你就可以了。

开始慢,调整管理员,并通过shell玩它是开始的方式。一旦掌握了ORM并掌握了工作方式,就可以开始构建真实的东西了!

该框架不会导致任何性能问题,例如S. Lott说,它是您不必维护的代码,而且这是最好的。

寻找框架。如果不使用会话处理这样的基本内容就是一场噩梦,因为Python不是像PHP那样的专业网络。

如果你觉得django太多了,你可以尝试一个比较小但仍然方便的web.py的较轻的。

对于皮特的爱,使用框架!那里有几十个框架,从cherrypy到django到albatross ......好吧......你说出来。实际上,当人们抱怨Rails的流行时,人们会指出大量的Web框架。

Python Web开发社区没有单一的声音。但那是另一个话题!关键是,存在“web工具包”。 (例如信天翁)相当轻巧,但功能强大,足以让你度过一天(例如,自动验证机器人没有做一个简单的表单提交假,或帮助保持MVC干净)。

如果你想要一些不是“太多框架”的东西。看这里:

http://wiki.python.org/moin/WebFrameworks

查看“提供模板的基本框架”下的内容。它们都很轻巧,并且所有的“不要重新发明轮子”。没有强迫你使用Mac卡车的东西。

这取决于您分发应用程序的方式。
如果它只在内部使用,请转到django。使用它是一种乐趣。 然而,django在分配任务方面确实不足; django-applications很难建立起来。

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