python - 使用 Python CGI 处理大型 HTML 文件

标签 python html web cgi

我有一个名为exercise.html的大html文件,我需要通过Python CGI生成一些东西。 我想问您打印此 HTML 的最佳方式是什么。

我知道可以通过 print 方法并使用格式方法 %s、%i 等:

print '''<html>
<head><title>My first Python CGI app</title></head>
<body> 
<p>Hello, 'world'!</p>
.
.
<div>%s</div>
.
.
</body>
</html>''' % generated_text

但是这个 HTML 真的很大,所以这只是一种解决方案吗?

最佳答案

您应该考虑使用类似 Jinja2 的模板语言。

这是直接来自上面链接的简单示例:

>>> from jinja2 import Template
>>> template = Template('Hello {{ name }}!')
>>> template.render(name='John Doe')

通常,虽然您将模板保存在文件中,然后加载/处理它们:

from jinja2 import Environment, PackageLoader
# The env object below finds templates that are lcated in the `templates`
# directory of your `yourapplication` package.
env = Environment(loader=PackageLoader('yourapplication', 'templates'))
template = env.get_template('mytemplate.html')
print template.render(the='variables', go='here')

如上所述,模板允许您将变量放入模板中。将文本放置在 {{ }} 内使其成为模板变量。渲染模板时,使用关键字参数传入变量值。例如,下面的模板有一个名称变量,我们通过 template.render 传递该变量

This is my {{name}}.

template.render(name='Jaime')

关于python - 使用 Python CGI 处理大型 HTML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23654230/

相关文章:

超时后python过期输入提示

php - 如何逐字浏览字符串文本并替换它

java - eclipse - "Error moving resource"

html - 如何拥有一系列不同的交替颜色

javascript - Firefox 中的自定义 css 颜色

javascript - 如何在不增加页面高度的情况下生成html元素

javascript - 如何使用 JavaScript 统计我网站上的访问者数量?

python - 不要在最后一个位置参数之后解析选项

python - 交叉验证时关键错误不在索引中

大数据集(>19000 行)上的 Python All 与 All 比率比较不断崩溃