Python Web开发 - 有或没有框架[关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python Web开发 - 有或没有框架[关闭]相关的知识,希望对你有一定的参考价值。

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

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

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

答案

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

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

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

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

  1. 学习一些Python。
  2. Django教程。
  3. 开始构建一个Web应用程序。 一个。启动Django项目。在该项目中构建一个小应用程序。 湾使用Django ORM构建新模型。为模型创建一个Django单元测试。确保它有效。您将能够使用默认的管理页面并进行大量的游戏。只是不要建立整个网站。
  4. 使用Django ORM让您的命令行应用程序正常工作。从本质上讲,您必须精确设置此应用程序的设置文件才能正常工作。请参阅settings/configuration部分。
  5. 一旦您的命令行和默认管理员运行,您就可以完成Web应用程序。

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

另一答案

您可能会考虑使用像web.py这样容易分发的东西(因为它很小)而且很容易使其他工具适应它,因为它不需要像Django那样提交框架。

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

另一答案

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

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

当然,在移植它之前,请考虑是否只需要切换语言或者是否需要特定的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开发社区没有单一的声音。但那是另一个话题!关键是,有“网络工具包”(例如信天翁)相当轻巧但功能强大,足以让你度过一天(例如,自动验证机器人没有做一个简单的表单提交假,或帮助保持MVC清洁)。

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

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

查看“提供模板的基本框架”。它们都是轻量级的,并且在不强迫Mac卡车的情况下完成所有“不要重新发明轮子”的东西。

另一答案

这取决于您分发应用程序的方式。 如果它只在内部使用,请转到django。使用它是一种乐趣。然而,django在分配任务方面确实不足; django-应用程序是一个痛苦的设置。

以上是关于Python Web开发 - 有或没有框架[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JavaScript 中模拟“类”? (有或没有第三方库)[关闭]

如何在 JavaScript 中模拟“类”? (有或没有第三方库)[关闭]

是否可以在没有“任何”框架的情况下使用 python 编写 Web 应用程序? [关闭]

python参数有或没有值,指定与否

python 一个简单的深度神经网络,在一个文件中有或没有丢失。

面向设计师/前端开发人员的 Clojure Web 框架 [关闭]