1

我一直在学习用于 ArcGIS 和其他一些非 Web 应用程序的 python。然而,既然我已经着手构建个人网站,我有兴趣将它用于 Web 开发(因为它是我目前知道的唯一脚本语言)。

我注意到有很多这样的东西叫做“框架”,比如 Django。据我了解,它们只是一个包的集合,可以让你免于重新发明轮子,但我真的不知道它们是如何工作的。

此外,我不喜欢 GUI,如果我需要一个框架,我想找到一个可以通过终端使用的框架,一开始很简单,当我准备好时可以扩展为更复杂的。关于框架的任何建议或想法以及我为什么要使用一个?

4

4 回答 4

2

Python Web 框架与 GUI 无关,都可以通过终端使用。

正如您所说,框架的好处都是通过提供构建网站所需的组件来使您的生活更轻松:主要是通过 ORM、模板系统和 URL 路由进行数据库交互。最重要的是,大型框架还包括可选的附加功能,例如用户身份验证、管理界面等。

就我个人而言,我喜欢 Django,但你的经历可能会有所不同:不过,我想说的是,无论你用 Python 和 Web 做什么,都需要某种框架,即使它是像 Flask 这样的绝对最小的框架之一,它基本上只做路由部分。为您完成后,从头开始编写所有这些东西根本没有意义。

于 2011-02-12T21:48:04.653 回答
2

我会支持上面的帖子:Django 是一个很棒的框架,从长远来看会为您节省大量时间。

您在编写 Web 应用程序时遇到的几乎所有挑战都已经得到解决,例如,我如何发送电子邮件?用于编辑数据的管理界面怎么样?用户安全?

在我看来,选择最好的框架就是围绕该框架的生态系统。它的使用情况如何?它在互联网上广泛讨论吗?其他人是否遇到并解决了我面临的问题?

至于从哪里开始,请参阅此处的 Django 教程:http: //docs.djangoproject.com/en/1.2/intro/tutorial01/

如果你认为 Django 为你提供了太多,我建议你看看 CherryPy,只是为了比较不同的、更简单的方法。

于 2011-02-12T22:31:09.543 回答
1

使用 Python,您有很多选择。首先,我建议您看这里——它解释了基础知识并提供了相当完整的框架列表。

如果您正在寻找一开始很简单但也可以处理更多复杂性的东西,那么您应该看看web2py。它不需要安装或配置,没有依赖关系,并且包括一个 Web 服务器和一个关系数据库。它还包括一个可选的基于 Web 的集成开发环境和管理界面,但如果您愿意,也可以通过终端工作。

非常容易学习,并且专为易于使用、更快的开发和安全性而设计。由于包含的脚手架应用程序以及许多合理的默认行为,您可以用很少的代码完成很多工作。随着事情变得越来越复杂,web2py 可以处理它,因为它是一个集成良好的全栈框架,具有许多内置功能,包括数据库抽象层、表单处理和验证、访问控制、Web 服务和简单​​的 Ajax一体化。

于 2011-02-13T05:51:51.473 回答
0

就个人而言,我不使用任何框架,我要么在 BaseHTTPServer 上从头开始编写,要么使用 WSGI(使用 mod_wsgi)。

写骨架有点长,但我认为它更快(我的意思是在运行时),约束更少,学习更少。

于 2011-02-12T23:02:27.930 回答