用Python编写网站

20 投票
9 回答
39272 浏览
提问于 2025-04-15 12:37

我对PHP还算熟练,但想尝试一些新东西。

我也懂一点Python,基本的用法会一些,但还没在网页设计的场合用过。

我刚写了这个,能正常工作:

#!/usr/bin/python

def main():
    print "Content-type: text/html"
    print
    print "<html><head>"
    print "<title>Hello World from Python</title>"
    print "</head><body>"
    print "Hello World!"
    print "</body></html>"

if __name__ == "__main__":
    main()

问题是,这样写起来感觉有点麻烦。如果不想用像django这样的大框架,有什么好的方法来写可以处理GET和POST请求的脚本呢?

9 个回答

8

在Python中,有几个网页框架可以帮你减轻很多工作负担。

  1. Django
  2. Pylons(还有基于它的新TurboGears)。
  3. Web2py
  4. CherryPy(还有基于它的旧TurboGears)

我觉得Django并没有你说的那么“庞大”;不过,我认为Pylons和CherryPy可能更适合你的需求。CherryPy看起来更简单,但似乎有点“过时”,而Pylons则在积极开发中。
对于Pylons,还有一本有趣的Pylons书,可以在线找到。

12

就完整的框架来说,我觉得Django相对来说比较小巧。

不过,如果你真的想要更轻便的框架,可以看看 web.pyCherryPyPylonsweb2py

在这些框架中,大家比较喜欢的是Pylons,但我个人更倾向于Django,所以也说不出太多其他的了。

想了解更多轻量级的Python框架,可以看看 这个问题

27

你的问题是关于基本的CGI脚本,虽然你给出的例子很清楚,但似乎大家都选择用“用我喜欢的框架”来回答。我们来换个方式聊聊。

如果你想找一个直接替代你上面写的东西(也就是CGI脚本),那么你可能需要看看cgi模块。这个模块是Python标准库的一部分。还有一些相关的功能可以在urlliburllib2中找到。你可能还会对BaseHTTPServerSimpleHTTPServer感兴趣,它们也是标准库的一部分。

再深入一点,wsgiref给你提供了一个WSGI接口的基础,这时你可能会想开始考虑一些更“框架化”的东西,比如web.py、Django、Pylons、CherryPy等等,正如其他人提到的那样。

撰写回答