使用python开发Web应用程序

时间:2009-05-21 21:58:58

标签: python

我一直在python中做一些工作,但这完全适用于独立应用程序。我很想知道python的任何分支是否支持Web开发?

有人会建议一个好的教程或网站,我可以从中获取一些使用python进行Web开发的基础知识吗?

9 个答案:

答案 0 :(得分:21)

既然每个人都说过Django,我可以加上我的两分钱:我认为在使用Django之前,你可以先了解不同的组件,然后再学习更多。对于使用Python进行Web开发,您通常需要3个组件:

  1. 需要注意的事情 HTTP的东西(例如 CherryPy

  2. 模板语言 创建您的网页。 Mako 非常pythonic和works与Cherrpy。

  3. 如果您从中获取数据 数据库,ORM派上用场。 SQLAlchemy 将是example

  4. 上面的所有链接都有很好的教程。对于许多现实世界的用例,Django将是一个比这样的堆栈更好的解决方案,因为它无缝集成了这个功能(以及更多)。如果你需要CMS,Django是你最好的选择,而不是Zope。然而,为了更好地掌握正在发生的事情,一堆松散耦合的程序可能会更好。 Django隐藏了很多细节。

答案 1 :(得分:4)

3年后编辑:不要使用mod_python,请使用mod_wsgi。 Flask和Werkzeug也是很好的框架。需要知道发生了什么是有用的,但这不是必需的。那将是愚蠢的。

在你很好地掌握Django代表你做的事情之前,不要查找Django。为了你。使用mod_python和它的请求对象编写一些基本的应用程序。我刚刚开始使用mod_python学习用于Web开发的Python,它非常棒。

mod_python还在site-packages / mod_python / publisher.py中使用调度程序。请通过此方式了解如何以简单的方式处理请求。

您可能需要在Apache配置文件中添加一些配置以启动并运行mod_python,但mod_python网站可以很好地解释它。

<Directory /path/to/python/files>
     AddHandler mod_python .py
     PythonHandler mod_python.publisher
     PythonDebug On
</Directory>

你离开了!

使用(作为一个愚蠢的基本例子):

def foo(req):
    req.write("Hello World")
假设/path/to/python/files/bar.py是您的网站根目录,/path/to中的

然后你可以做

http://www.mysite.com/python/files/bar/foo

看“Hello World”。此外,绊倒我的是调度程序使用一种蹩脚的方法来计算内容类型,以便强制使用HTML:

req.content_type = 'text/html'

祝你好运

在你很好地了解了Python如何与mod_python和Apache交互之后,然后使用一个框架来为你完成所有无聊的工作。尽管如此,只是我的建议

答案 2 :(得分:3)

如果你真的不想深入研究框架 - 你应该,我衷心推荐Django或Pylons - 仍然需要沿着CGI的道路前进。这是一种完全过时的技术,更不用说缓慢而低效。

是构建Python Web应用程序的标准方法,它被称为WSGI。如果您想从头开始推出自己的网络应用程序,这绝对是最佳选择。

那就是说,如果你刚刚开始,你真的应该选择其中一个框架。

答案 3 :(得分:2)

Python Wiki: Web Frameworks for Python

如果您决定使用Djangothe official tutorial是一个很好的起点。 The Django Book也是免费的。

答案 4 :(得分:1)

Web开发有两种选择。根据我的经验,您的选择将再次取决于您的申请。我在制作中使用了djangoweb.py,我即将部署基于pylons的应用。

Django隐藏了很多选择(带有ORM和模板)。文档内容丰富,编写得很好。 django有许多可重复使用的应用程序,但您可能会花一点时间无缝集成它们。有一件事mentioned on djangocon 08是事实,django中有很酷的东西,这是不容易的 在非django项目中访问。

web.py因其原始的简洁而给我留下了深刻的印象。在我知道它之前,我在其中写了一个小应用程序(78 lines quasi-wiki)。

pylons感觉就像在两者中间。我可以使用sqlalchemyjinja,这一切都是愉快的体验。

答案 5 :(得分:0)

查找Django。

答案 6 :(得分:0)

Python可用于Web开发,但没有特殊的语言扩展或语言中的任何东西可以处理所有HTML生成或像PHP一样工作。

它几乎通过Web服务器上的某种解释器运行(CGI,mod_python等)。

我建议您查看Python Web Application Frameworks或如何撰写Python CGI scripts

答案 7 :(得分:0)

那里有用于python的quite a few个web框架,但我唯一使用的是Django,我非常喜欢它。

如果你有几个小时,那就做tutorial,我向你保证,你会喜欢它:)

答案 8 :(得分:0)

正如其他人所提到的,你称之为更为突出的python“分支”之一就是Django。它是一个相当强大的框架,允许您快速安全地构建Web应用程序。首先要看的是their overview,它提供了一些关于Django作为框架所做的事情的见解。

通过their tutorial教我很多关于突出的模型 - 视图 - 控制器设计模式以及如何在Web开发环境中使用它。我发现这是一个很好的方式来开始编写一个通过改进它来工作和学习的应用程序。