2010-08-08 87 views
1

我在web2py框架上阅读我的一个爱好项目。当我年轻时我学会了如何用Python进行编程,所以我确实掌握了它。现在我更多的是PHP开发人员,但亲爱的。“香草”网络蟒

我只是有这个疑问,弹出:有没有办法在后端使用“香草”蟒蛇?我的意思是香草喜欢PHP,没有框架。模板如何以这种方式工作?我的意思是,缩进和一切都有点错过了观点。

无论如何,我正在尝试web2py,真的很喜欢它。

+0

“kindda”是什么意思? – 2010-08-08 13:14:13

+0

某种病态和变态的'种'收缩 – actionAxolot 2010-08-08 17:08:06

回答

2

没有理由这样做:)但如果你坚持,你可以对WSGI

上面写着我建议你可以尝试微架构如web.py如果u喜欢香草风格

+0

非常感谢。不是真的想要,但真的很好奇。有时候我需要写的东西太小,以至于使用框架将会过度。我认为python可能会适合这项工作,但我认为对于小型化的PHP来说更合适。 – actionAxolot 2010-08-08 09:50:48

+1

“如此之小以至于使用框架将会过度”:不能存在。尝试一下。你最终编写了许多重复框架功能的代码。看看werkzeug有一个小块的框架。永远不要声称一个Web应用程序对框架“太小” - Web应用程序很难。 – 2010-08-08 13:15:41

+0

并不意味着web应用程序。它更像是“当你只有ftp访问时加载SQL转储的小脚本”。这些就像5行代码。如果有一个shell,我知道Python会做得很好,否则PHP。无论如何,不​​再使用共享主机的好处是这些场景不会存在。 – actionAxolot 2010-08-08 17:11:41

1

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

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

environment包含CGI变量和其他的东西。通常情况下,应用程序会调用具有相同调用签名的其他函数,并且您会得到一系列函数,每个函数都处理请求处理的特定方面。

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

+0

是的。 WSGI的东西真的改变了我的整个视角。检查出来后,我立即知道这是如何工作的。不是如何去做,而是发现它的意义。 – actionAxolot 2010-08-08 09:55:46

3

由PHP天真地鼓励的逻辑,内容和表示的混合是一种令人憎恶的行为。这是极好的设计实践的极端,并且不应该被导入到其他语言中(它甚至不应该用于PHP中,并且幸运的是,PHP世界通常会慢慢地离开它)。

你应该了解Model-View-Controller (MVC)这虽然不是很好的实际设计的最后一句话,构成了现代Web开发实践的重要依据,并作为共同点,或整理的用得上,在讨论中关于应用布局。

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

大多数Python Web框架都是非常模块化的。您可以将它们全部用于应用程序中的所有内容,或者仅用于零碎。例如,您可能会使用Django的URL调度器,但不使用它的模型/ ORM,或者除了模板引擎之外,也可以使用它,例如Jinja。随你便。

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

你应该开始了解所有这些事情,并找到最适合你的东西。但有一点你应该而不是做的是尝试像PHP一样处理Python web开发。

+0

是的。我认为你提到的不把旧惯例带入新的开发环境非常重要。否则,我并不是真的学到了一切。 我讨厌编程'香草'PHP,只是有这个疑问。事实上,在PHP中,我使用Yii框架完成了大部分工作,我认为这是最好的。它将它完全分开,并且为每个项目开发一些小部件,我可以将所有设计委托给实际知道自己在做什么的人。 真棒回复。谢谢。 – actionAxolot 2010-08-08 10:01:13