使用Python进行网络编程的不同方法的优缺点

我想使用Python进行一些服务器端脚本编写。但是我对执行此操作的方法迷茫了。

它以自己动手的CGI方法开始,并且似乎以一些非常健壮的框架结束,这些框架基本上可以自己完成所有工作。中间还有很多东西,例如web.py,Pyroxide和Django。

  • 哪些优点缺点的框架或接近于你参与的

  • 有哪些权衡取舍

  • 他们在哪种项目上表现出色,而在哪些方面却表现不好?


繁花如伊
浏览 257回答 3
3回答

潇湘沐

CGI非常适合低流量的网站,但对于其他任何网站都存在一些性能问题。这是因为每次请求进入时,服务器都会在其自己的进程中启动CGI应用程序。这很糟糕,原因有两个:1)启动和停止进程可能要花费一些时间,并且2)您无法在内存中缓存任何内容。您可以使用FastCGI,但是我认为如果您要走这条路线,最好只编写一个简单的WSGI应用程序(WSGI的工作方式与CGI确实没有太大的不同) )。除此之外,您的选择大部分是您希望框架执行的工作量。您可以使用所有唱歌,跳舞的框架,例如Django或Pylons。或者,您可以采用混合匹配的方法(对HTTP内容使用CherryPy,对数据库内容使用SQLAlchemy,对部署进行粘贴等)。我还应该指出,大多数框架还允许您将其他组件切换为其他组件,因此这两种方法不一定是互斥的。就我个人而言,我不喜欢那些为我做太多魔术的框架,而是喜欢混合搭配技术,但是有人告诉我我也完全疯了。:)您有多少Web编程经验?如果您是初学者,我想和Django一起去。如果您更有经验,我会尝试各种方法和技巧,直到找到合适的方法和技巧为止。

婷婷同学_

如果您想变大,请选择Django并设置好。但是,如果您只是想学习,请使用已经提到的WebOb滚动自己的框架-这确实很有趣,而且我相信您会学到更多(此外,您还可以使用喜欢的组件:模板系统,URL调度程序,数据库层,会议等)。在过去的两年中,我使用Django构建了几个大型站点,我只能说Django将在20%的时间内满足您80%的需求。无论您使用哪种框架,剩下的20%的工作都将花费80%的时间。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python