[英]Simple HTML template in Python
我想用来自 Python 的数据填充 HTML 模板。 虽然我不懂任何 HTML,但我的一位同事会在我提供数据的同时准备 HTML 模板。 然而,他对 Python 知之甚少。
您能否建议一个非常基本的模板框架,它可以很好地处理 HTML 和 Python 的这种分离(即 HTML 中没有太多特殊的语法;Python 数据代码中没有太多 HTML 让我知道)? 理想情况下,HTML 模板应该非常接近纯 HTML。
我还将表格作为数据,所以如果我不必准备 HTML 表格代码,但他可以用一些最小的标记逻辑来完成,那就太好了。 理想情况下,即使我的同事应用了 CSS 等更高级的概念,系统也应该可以正常工作。
我已经找到了广泛的列表,但由于我不懂技术语言,因此很难判断哪个系统最接近我的要求。
编辑:关键是我们是新手,我们只需要一个基本的解决方案:) - 但理想情况下对我来说没有 HTML,对他来说也没有超出纯 HTML 的范围。
好吧, django有非常强大的模板引擎,其目的是将 HTML 与 python 逻辑分开(但这需要你完全使用 django,所以如果你只是想要模板,这可能是一种矫枉过正)。
如果您的模板真的很简单(没有循环),您可以使用本机 python string.format函数(我在一个副项目中使用它为一些 Fortran 代码生成配置文件,而且还不错)。
其他选择可能是jinja2 ,它非常接近 django 模板,但独立且功能更强大。
我可以建议也看看 web2py 吗? 在最基本的层面上,你可以简单地让你的同事创建 html 文件,然后在你需要数据的地方用 {{=var}} 替换它,var 可以由用 python 函数编写的 web2py 控制器检索。 从该函数中,您可以将数据放在一起并使用“return dict(var=var)”将其返回 html 视图。
如果您的视图如下所示:
<html>
<head>
<title>some title</title>
</head>
<body>
<h1>{{=message}}</h1>
</body>
</html>
控制器可能看起来像这样:
def index():
message = "Hello World"
return dict(message=message)
您也可以使用 django,正如其他人提到的那样,但请检查一些web2py 文档的链接
python中的简单模板是: https ://docs.python.org/3.6/library/string.html#template-strings
它自带语言,不需要外部库。
以下是如何使用模板的示例:
>>> from string import Template
>>> s = Template('$who likes $what')
>>> s.substitute(who='tim', what='kung pao')
'tim likes kung pao'
>>> d = dict(who='tim')
>>> Template('Give $who $100').substitute(d)
Traceback (most recent call last):
...
ValueError: Invalid placeholder in string: line 1, col 11
>>> Template('$who likes $what').substitute(d)
Traceback (most recent call last):
...
KeyError: 'what'
>>> Template('$who likes $what').safe_substitute(d)
'tim likes $what'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.