我有一个名为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/