首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python中Web编程的不同方法的优缺点?

Python中Web编程的不同方法的优缺点?
EN

Stack Overflow用户
提问于 2018-10-16 01:46:19
回答 2查看 0关注 0票数 0

我想用Python做一些服务器端脚本。但是我有很多方法可以做到这一点。

它从自己动手的CGI方法开始,似乎以一些非常强大的框架结束,这些框架基本上可以完成所有工作。介于两者之间的很多东西,比如web.pyPyroxideDjango

  • 哪些优点缺点的框架或方法的你参与的
  • 有什么权衡
  • 对于什么样的项目,他们做得好,不做什么?

编辑:我还没有太多的网络编程经验。 我想避免解析参数URL等基本和繁琐的事情。 另一方面,虽然使用Ruby on Rails 在15分钟内创建博客视频给我留下了深刻印象,但我意识到隐藏了数百个东西来自我 - 如果你需要立即编写一个有效的webapp,这很酷,但对于真正理解魔法并不是那么好 - 这就是我现在所寻求的。

EN

回答 2

Stack Overflow用户

发布于 2018-10-16 10:18:30

如果你想变大,选择Django就可以了。但是如果你只是想学习,可以使用已经提到的WebOb来推广你自己的框架- 这真的很有趣,我相信你会学到更多东西(另外你可以使用你喜欢的组件:模板系统,url调度程序,数据库层,会议,等等。

在过去的两年里,我使用Django建立了几个大型网站,我只能说,Django将在20%的时间内满足80%的需求。无论您使用哪种框架,剩余20%的工作将占用80%的时间。

票数 0
EN

Stack Overflow用户

发布于 2018-10-16 11:33:35

最简单的Web程序是一个CGI脚本,它基本上只是一个程序,其标准输出被重定向到发出请求的Web浏览器。在这种方法中,每个页面都有自己的可执行文件,必须在每个请求中加载和解析。这使得启动和运行起来非常简单,但在性能和组织方面都有严重的扩展。因此,当我非常快速地需要一个非常动态的页面而不会成长为更大的系统时,我会使用CGI脚本。

与此相关的一步是将Python代码嵌入HTML代码中,例如使用PSP。我认为现在很多人都不会使用它,因为现代模板系统已经过时了。我与PSP合作了一段时间,发现它与CGI脚本基本上具有相同的组织限制(每个页面都有自己的文件),加上一些与空白相关的烦恼,试图将空白无关的HTML与空格敏感的Python混合在一起。

下一步是非常简单的web框架,例如web.py,我也使用过它。与CGI脚本一样,启动和运行起来非常简单,并且您不需要任何复杂的配置或自动生成的代码。您自己的代码将非常易于理解,因此您可以看到正在发生的事情。但是,它不像其他Web框架那样功能丰富; 上次我使用它时,没有会话跟踪,所以我不得不自己滚动。引用Guido(“upvars(),bah”)也有“太多魔术行为”。

最后,您拥有功能丰富的Web框架,例如Django。这些将需要一些工作来使简单的Hello World程序正常工作,但每个主要的程序都有一个很好的,写得很好的教程(特别是Django)来引导你完成它。我强烈建议在任何真实项目中使用其中一个Web框架,因为它具有方便性,功能和文档等。

最终你必须决定你喜欢什么。例如,框架都使用模板语言(特殊代码/标签)来生成HTML文件。其中一些如Cheetah模板允许您编写任意Python代码,以便您可以在模板中执行任何操作。其他如Django模板更具限制性,迫使您将演示代码与程序逻辑分开。这完全取决于您个人喜欢什么。

另一个例子是URL处理; 一些框架,如Django,您可以通过正则表达式在应用程序中定义URL。其他如CherryPy会根据您的函数名称自动将您的函数映射到URL。同样,这是个人偏好。

我个人使用混合的Web框架,使用CherryPy作为我的Web服务器(表单参数,会话处理,url映射等)和Django作为我的对象关系映射和模板。我的建议是从一个高级Web框架开始,按照其教程开始工作,然后开始一个小型的个人项目。我用我提到的所有技术做到了这一点,这真的很有用。最终,您将对自己喜欢的内容有所了解,并在此过程中成为更好的Web程序员(以及更好的程序员)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100000851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档