Web编程Python

2024-04-19 15:08:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个业余开发人员,对PHP有一点经验。在

我最近学习了Python,我不得不承认它作为一种编程语言和它的优秀库是非常棒的,但是在web开发中使用它似乎是一个很大的麻烦。就我所读到的内容而言,我不得不使用CGI、mod\wsgi等来部署它(http://docs.python.org/howto/webservers.html), 重新启动服务器以查看更改(http://stackoverflow.com/questions/581038/python-web-programming)在

我的问题是,Python在web开发中的应用如此广泛,为什么它不能像PHP那样简单呢?在

我很想写信索引.py公司名称:

print """
<html>
<head>
<title>Hello world</title>
</head>
<body>
Hello world
</body>
</html>"""

Tags: webhttp内容helloworldtitle开发人员html
3条回答

[If] Python being used so widely for web development, Why cant it be as simple as PHP? ie i would love to write index.py...

根据您的例子,Python可以像PHP一样简单。实现上述工作的最简单方法是使用CGI(并调用文件index.cgi而不是index.py,这样脚本就可以正常工作了。不过,您应该先指定内容类型,如下所示:

print 'Content-type: text/html'

这在PHP和Python中同样适用。Python's CGI module会让你很快启动和运行。在

As far as what i read, I've to use CGI, mod_wsgi, etc. to deploy

您通常会选择一个或另一个,实际上,您很可能会选择一个基于更现代的WSGI的框架,而不必担心底层的东西。但是如果你不想,你就不需要为这些低级接口操心。在

Restart the server to see the changes

可能没有。必须重新启动服务器是框架和部署配置的一个限制,通常不是必需的。如果使用mod_python,这可能适用,但通常不适用(例如,许多框架支持自动重新加载)。在

Python拥有丰富的web开发资源。有一些基本的系统(例如CGI、mod\wsgi)、轻量级系统(比如CherryPy)和整个框架(比如Zope)。你可以选择一个最适合你需要的。在

能够创建一个简单的文件并生成一些输出可能有助于快速完成某些工作,但这并不是一个丰富、成熟、功能强大的框架的标志。当然,你可以直接开始展示一些东西,但那又怎样呢?突然之间,您需要导入或编写web框架提供的所有相同类型的功能。对于一个非平凡的web应用程序,您需要非平凡的框架。在

例如,类似Django的东西将为您提供持久性框架、自动生成的管理接口、诱人的语言、URL调度系统等等。你可以专注于你的应用程序逻辑,而不必担心较低层次的细节。Django是一个很好的起点,因为它有很好的文档,本教程将帮助您快速地进行。在

关于Python为什么不像PHP那么容易进行web开发的问题:Python并不是为它而设计的。PHP已经做了大量的工作,使之成为一种可以编写HTML页面的好语言,包括mod\uphp for apache。Python虽然是一种非常强大的web语言,但它的能力也远远超过PHP。例如,Dropbox的大部分软件,包括桌面客户端和服务器端代码都是Python。我在日常工作中使用Python,并通过Cython将遗留的C代码集成到新的Python代码中。在

继续前进。有很多Python框架可以让您的web开发体验变得简单得多。值得注意的是,被专业人士和业余爱好者广泛使用的是Django和Pyramid(以前是塔架)。作为一个新用户,我建议你从Django开始,这是一个很好的入门方法,随着你的体验的增长,它可以用于大型和复杂的站点(以及更多)。在

你会发现Django和Pyramid包括“开发服务器”。这些是用Python编写的web服务器,它们与框架一起打包,以实现更快的开发。使用这些开发服务器,您可以很快启动并运行。在

还有一些纯Python web服务器,它们的速度非常快,非常健壮,非常适合生产。要在Gunicorn(一个非常好的Python服务器)上部署Pyramid应用程序,只需在Pyramid配置中增加几行。通常,您可以通过Apache或Nginx将代理反向转换到这些纯Python服务器。在

如果您想走Apache服务器路径,只需要mod wsgi。用mod峈Python或作为CGI为Python站点提供服务是一种有些过时的方式。WSGI为Python定义了一个处理web请求的标准,因此mod_WSGI使apache能够以预期的格式将请求传递给Python应用程序。在

当涉及到将Python部署到宿主提供者时,您需要比PHP托管稍微深入一点,但是在pythonwiki上有一个good list。底部的4个链接提供了不同的列表以满足您的要求。在

正如其他人所说,google“pythonweb框架”。有相当多的,他们都很不同。为了让您以最快的速度(小时)开始,我将查看bottle.py。在

相关问题 更多 >