“原生”网页Python

2 投票
3 回答
2000 浏览
提问于 2025-04-16 02:29

我最近在研究web2py这个框架,准备用它做一个业余项目。我年轻的时候学过Python,所以对它有一些了解。现在我主要是做PHP开发,但其实对PHP有点厌烦。

我心里有个疑问:有没有办法在后台用“纯”Python?我说的“纯”就是像PHP那样,不用框架。那样的话,模板是怎么工作的呢?我觉得用缩进和其他东西来处理,感觉有点不太对劲。

不过,我现在在试用web2py,感觉还挺不错的。

3 个回答

2

如果不使用框架,你就需要用WSGI。这样做的话,你需要写一个叫做application的函数,像这样:

def application(environment, start_response):
    start_response("200 OK", [('Content-Type', 'text/plain')])
    return "hello world"

environment里包含了一些cgi变量和其他信息。通常情况下,application会调用其他函数,这些函数的调用方式是一样的,这样就形成了一连串的函数,每个函数负责处理请求的某个特定部分。

当然,你需要自己处理模板。语言本身并没有内置这个功能。

3

把逻辑、内容和展示混在一起,就像PHP最初鼓励的那样,真是个大错误。这完全违背了好的设计原则,其他语言也不应该这样做(其实在PHP里也不应该这样做,幸运的是,PHP的世界正在慢慢摆脱这种做法)。

你应该了解一下模型-视图-控制器(MVC),虽然这不是现实世界设计的最终答案,但它为现代网页开发提供了一个重要的基础,并且在讨论应用布局时,形成了一个共同的语言。

大多数情况下,你应该使用某种形式的网页框架,特别是那些提供模板功能的框架。web2py是个不错的选择。其他流行的框架还有PylonsDjango

大多数Python网页框架都是非常模块化的。你可以把它们全部用在你的应用里,也可以只用其中的一部分。比如,你可以使用Django的URL调度器,但不使用它的模型/ORM,或者你可以用它的所有功能,除了模板引擎,改用Jinja。这完全取决于你。

你甚至可以写传统的CGI脚本(可以看看CGI模块),同时使用你选择的模板引擎。

你应该开始学习这些东西,找到最适合你的方法。但有一点你绝对不应该做的,就是把Python网页开发当成PHP那样来处理。

2

其实没有必要这么做 :) 不过如果你真的想的话,可以在 WSGI 的基础上进行开发。

我建议你可以试试像 web.py 这样的微框架,如果你喜欢简单直接的风格。

撰写回答