python2.x中PHPlike模板化的最快stdlib方法?

2024-05-16 19:55:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在做的项目要求我使用Python内置的HTTP服务器,我需要自己构建动态HTML页面。HTML文件中的%REPLACE_ME%语法最近太烦人了,我很乐意用PHP中的就地代码替换它。有没有什么好的解决方案可以用(或任何其他类似的语法)来解析字符串并对其中的代码进行评估?在

编辑:

乔恩说我为什么要把密码给我解释一下。有两个原因-第一个原因是我习惯了这种方法,第二个原因是我喜欢使用一些循环,不希望自己为模型文件中的表构建一半的HTML代码。stdlib要求是因为我希望尽可能少地保留依赖关系。不过,我可以考虑一些非常小的图书馆。在


Tags: 文件项目代码服务器httphtml语法动态
2条回答

如果你不能首先使用PHP来执行它,那么它是任意的。在

您可以使用Python CGI模块来实现这一点。(但与PHP不同的是,它是通过一个接口运行的,而不是其他东西——WSGI是这里的方法——而且也没有太多的设置)。在

现在更传统的做法是把程序逻辑和显示逻辑分开。这样就有了“模板”来填充来自“视图”的信息(通过响应对象返回信息)。它通常被称为“MVC”,但并非所有的“MVC”都是“MVC”

我仍然记得PHP从它还是“项目主页”的时候起-它已经发展了很多,是一个不为CGI编写C的好方法。。。但是从那时起语言和技术进步了。。。在

根据最后一条评论,我将尝试概述一些选项:

python内置的最佳选项是string模块。在

如注释中所述,文档如下:7.1. string

有很多第三方模板系统是难以置信的强大。我不是一个大的PHP用户,但你会把这些类类似于Smarty等。。。在

Django Template

还有一本很好的关于使用它们的开源书籍Django Book: Chapter 4 - Templating

我从未在Django之外使用过这些工具,但我知道有一些框架允许您使用它们。我不确定这将有多少工作,这将是集成到另一个系统,但它肯定可以做到。在

Mako Templates

这是另一个非常强大的模板系统。这是一些大框架,如塔架使用。在

Jinja2

这也是一个很好的模板系统。在

关于模板系统还有一些其他的讨论:What is the fastest template system for Python?。这只是一个例子,但是有一个更大的模板系统列表。在

相关问题 更多 >