PHP的PHP样式内联标签?

时间:2010-08-30 00:19:02

标签: python web-applications

我刚刚开始学习python(用于webapp),但我对使用它与html文件和动态数据的最佳方式感到困惑。 我知道php有<?php ?>标签很棒 - python有这样的东西还是等价的,如果不是 我应该怎么做?

4 个答案:

答案 0 :(得分:6)

PHP内联标签实际上倾向于鼓励一种不好的做法 - 即将控制逻辑(PHP代码)与模板(html)混合在一起。大多数Python框架倾向于避开这种混合,而是鼓励两者之间的分离 - 通常使用某种templating system

许多框架都有自己的模板系统(例如,Django templating system非常受欢迎)。其他人不这样做,让你选择一个单独的模板引擎(如Cheetah)。

答案 1 :(得分:4)

有一些php风格的python选项。 Mod_python用于附带一个,而spyce有一个替代实现,但这种模式不受pythonistas的青睐。相反,使用模板语言。 Genshi和jinja2都很受欢迎,但有很多可供选择。

由于您不熟悉使用python进行Web编程,因此最好选择一个完整的框架。 Django,turbogears和cherrypy都是值得一试的。这些框架将包括制作现代网站所需的所有工具,包括模板语言。

答案 2 :(得分:2)

是的,Python确实有一个大致相同的功能:使用mod_python的Python服务器页面(a.k.a。psp)。它使您能够执行以下操作:

<html>
 <% import time %>
 Hello world, the time is: <%=time.strftime("%Y-%m-%d, %H:%M:%S")%>
</html>

然而,一般来说,这种做法不被认为是Pythonic。我会从轻量级Python web framework开始。当你开始时,web2py是一个很好用的。 bottleflask&amp; cherrypy非常容易开箱即用。 DjangoTurboGears&amp;其他更复杂,但提供更多功能。

答案 3 :(得分:0)

正如Tim所说,您可以使用Python Server Pagespsp)来获取适用于mod_python的PHP样式内联标记。您必须add psp handler到Apache配置:

<Directory /var/www/html>
    AddHandler mod_python .psp
    PythonHandler mod_python.psp
    PythonDebug On
</Directory>

然后将其保存为test.psp并享受。 : - )

<html>
<% import time %>
Hello world, the time is: <%=time.strftime("%Y-%m-%d, %H:%M:%S")%>
</html>

但遗憾的是,mod_pythonretired,您必须使用mod_wsgi,不幸的是"there is no port of mod_python PSP for mod_wsgi"