“香草”网络蟒蛇

时间:2010-08-08 09:36:55

标签: python backend

我正在阅读我正在做的业余爱好项目的web2py框架。我学会了如何在我年轻时用Python编程,所以我确实掌握了它。现在我更像是一个PHP开发者,但是他很讨厌它。

我只是怀疑这个问题:有没有办法在后端使用“Vanilla”python?我的意思是香草像PHP,没有框架。模板是如何以这种方式工作的?我的意思是,随着缩进和一切,它有点错过了重点。

无论如何,我正在尝试使用web2py并非常喜欢它。

3 个答案:

答案 0 :(得分:3)

PHP天真鼓励的逻辑,内容和演示的混合是令人厌恶的。它与良好的设计实践完全相反,不应该导入到其他语言中(它甚至不应该在PHP中使用,幸好PHP世界总是如此缓慢地远离它)。

你应该了解Model-View-Controller (MVC),虽然不是关于良好的现实世界设计的最后一句话,但它是现代网络开发实践的重要基础,并且作为共同基础,或者某种通用语言franca ,关于应用程序布局的讨论。

大多数情况下,您应该使用某种形式的Web框架,尤其是提供模板的框架。 web2py并不是一个糟糕的选择。其他流行的框架包括PylonsDjango

大多数Python Web框架都非常模块化。您可以将它们完整地用于应用程序中的所有内容,或者只是零碎。例如,你可能会使用Django的URL调度程序,但不能使用它的模型/ ORM,或者你可能会使用其中的所有东西,除了它的模板引擎,比如说Jinja。这取决于你。

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

您应该开始了解所有这些事情并找到最适合您的方法。但是你应该做的一件事就是尝试像PHP那样处理Python web开发。

答案 1 :(得分:2)

没有理由这样做:)但如果你坚持,你可以写在WSGI之上

我建议您可以尝试一个微框架,例如web.py,如果你喜欢Vanilla风格

答案 2 :(得分:2)

没有框架,您使用WSGI。要做到这一点,你就像这样写一个函数application

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

environment包含cgi变量和其他内容。通常情况下,应用程序将调用具有相同调用签名的其他函数,并获得一系列函数,每个函数都处理处理请求的特定方面。

您当然负责处理自己的模板。语言中没有任何内容。