Python中的PHP风格内联标签?

3 投票
4 回答
1760 浏览
提问于 2025-04-16 03:28

我刚开始学习Python(主要是为了做网页应用),但是我对如何将它和HTML文件以及动态数据结合使用感到困惑。我知道PHP有<?php ?>这样的标签,非常好用——那么Python有没有类似的东西呢?如果没有,我应该怎么做呢?

4 个回答

3

是的,Python确实有一个类似的功能:Python服务器页面(也叫做 psp),它是通过 mod_python 实现的。这个功能可以让你做一些事情,比如:

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

不过,通常来说,这种做法并不被认为是“Pythonic”的,也就是不太符合Python的风格。我建议你从一个轻量级的 Python网络框架 开始。web2py 是一个很不错的入门选择。bottleflaskcherrypy 都很容易上手。DjangoTurboGears 等框架则更复杂一些,但提供了更多的功能。

4

现在有一些用PHP风格的Python选项。以前,Mod_python会自带一个这样的选项,而spyce也有一个不同的实现,但这种方式现在在Python开发者中已经不太流行了。与其这样,不如使用模板语言。Genshi和jinja2都是很受欢迎的选择,但其实还有很多其他的可以选。

因为你刚开始接触用Python做网页编程,最好的办法是选择一个完整的框架来入门。Django、turbogears和cherrypy都是值得了解的框架。这些框架会包含你制作现代网站所需的所有工具,包括模板语言。

7

PHP的内联标签其实会导致一种不好的做法,就是把控制逻辑(PHP代码)和模板(HTML)混在一起。大多数Python框架都不提倡这种混合,而是鼓励将两者分开,通常会使用某种类型的模板系统

很多框架都有自己的模板系统,比如Django模板系统就非常受欢迎。还有一些框架没有自己的模板系统,允许你选择一个单独的模板引擎,比如Cheetah

撰写回答