【问题标题】:Passing lots of values to template将大量值传递给模板
【发布时间】:2014-08-27 07:10:08
【问题描述】:

如何将大量值传递给我的模板?

文档直接取自Mako Website:

myPythonProgram.py:

from mako.template import Template

mytemplate = Template(filename='myHtmlTemplate.htm')
print mytemplate.render(name="jack") #<- how to pass like 40 more variables?

myHtmlTemplate.htm

<html>
<head>
</head>
<body>
<p> ${name} </p>
</body>
</html>

这个解决方案适用于 10 岁以下的人,但我想使用多达 40 个变量。

谢谢!

【问题讨论】:

  • 为什么不将它们存储在 Python 字典中并将字典传递给模板? :) 没和 Mako 玩过,但那是我在 Django 中会做的。
  • 名字从何而来?
  • 变量是在 python 程序中生成的。我刚开始使用 mako / python 但它不仅仅是为了玩。它是一种非常好的语言,但是 api 文档有点弱!
  • 我不是很精通 html,所以请耐心等待,您是要在 html 中传递多个名称还是创建多个变量?

标签: python templates mako


【解决方案1】:

render() 接受任意数量的位置参数和任意数量的关键字参数。

根据您提供的信息,您可能应该保留一本包含 40 项内容的字典。

mydict = {'name': 'jack', 'age': 42, ... }

调用mytemplate.render(**mydict)会解包参数,然后你可以在模板中引用${name}${age}等等。

【讨论】:

  • ** 没有用,但 mydict==mydict 但假设是一样的
猜你喜欢
  • 2017-11-10
  • 1970-01-01
  • 2019-04-03
  • 2011-05-08
  • 2015-08-24
  • 1970-01-01
  • 2021-02-19
  • 1970-01-01
  • 2018-06-20
相关资源
最近更新 更多