&引用;香草;网络python

&引用;香草;网络python,python,backend,Python,Backend,我正在读web2py框架,这是我的一个爱好项目。我年轻时就学会了如何用Python编程,所以我确实掌握了Python。现在我更多的是一个PHP开发人员,但有点讨厌它 我只是有一个突然冒出来的疑问:有没有办法在后端使用“普通”python?我的意思是像PHP一样,没有框架。模板是如何以这种方式工作的?我的意思是,有了缩进和所有的东西,它有点忽略了重点 无论如何,我正在尝试web2py,并且非常喜欢它。没有理由这么做:)但是如果你坚持你可以在上面写 我建议你可以尝试一个微框架,比如web.py,如果

我正在读web2py框架,这是我的一个爱好项目。我年轻时就学会了如何用Python编程,所以我确实掌握了Python。现在我更多的是一个PHP开发人员,但有点讨厌它

我只是有一个突然冒出来的疑问:有没有办法在后端使用“普通”python?我的意思是像PHP一样,没有框架。模板是如何以这种方式工作的?我的意思是,有了缩进和所有的东西,它有点忽略了重点


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

没有理由这么做:)但是如果你坚持你可以在上面写


我建议你可以尝试一个微框架,比如web.py,如果你喜欢香草风格的话。如果没有框架,你可以使用WSGI。为此,您可以编写一个函数
应用程序
,如下所示:

def application(environment, start_response):
    start_response("200 OK", [('Content-Type', 'text/plain')])
    return "hello world"
环境
包含cgi变量和其他内容。通常情况下,应用程序将使用相同的调用签名调用其他函数,您将得到一系列函数,每个函数都处理处理请求的特定方面


当然,您需要负责处理自己的模板。PHP语言中没有任何关于它的东西。

PHP天真地鼓励逻辑、内容和表示的混合是一种令人憎恶的行为。它与良好的设计实践截然相反,不应该被导入到其他语言中(甚至不应该在PHP中使用它,谢天谢地,整个PHP世界都在慢慢远离它)

您应该了解,哪一项虽然不是好的真实世界设计的最终决定,但构成了现代web开发实践的重要基础,并在有关应用程序布局的讨论中作为共同点或某种通用语言

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

大多数pythonweb框架都是非常模块化的。你可以将它们全部用于应用程序中的所有内容,也可以只是零碎的部分。例如,您可以使用Django的URL dispatcher,但不使用它的模型/ORM,或者您可以使用其中的所有内容,除了它的模板引擎,比如说。这取决于你

您甚至可以编写传统的CGI脚本(请参阅),同时仍然可以使用您选择的模板引擎


你应该开始学习所有这些东西,并找到最适合你的。但是有一件事你不应该做,那就是试着像对待PHP一样对待Python web开发。

非常感谢。不是很想,只是对它很好奇。有时候,我需要写的东西太小,使用框架可能会有点过头。我原以为python可能会胜任这项工作,但我想对于一些小事情来说,PHP会更合适。“太小了,使用框架会有点过分”:不可能存在。试试看。您最终编写的代码太多,重复了框架功能。请看werkzeug,它提供了一个更小的框架。永远不要声称一个web应用对于一个框架来说“太小了”——web应用是很难的。这并不意味着web应用。它更像是“当您只有ftp访问权限时加载SQL转储的小脚本”。这是5行代码。如果有一个shell,我知道Python会做得很好,否则PHP会做得很好。无论如何,不再使用共享主机的好处是这些场景将不存在。WSGI事件真的改变了我的整个观点。经过检查,我马上知道这是怎么回事。不是怎么做,而是从中找到了意义。我认为您提到的不要将旧的实践引入新的开发环境是非常重要的。否则,我并不是真的在学习所有东西。我讨厌编写“香草”PHP,只是有这个疑问。事实上,在PHP中,我的大部分工作都是使用Yii框架完成的,我认为这是最全面的框架。它完全分离了这一点,通过每个项目开发几个小部件,我可以将所有的设计委托给真正知道他们在做什么的人。真棒的回答。谢谢,“kindda”是什么意思?某种“某种”的病态变态收缩