如何基于价值在Tornado模板中显示另一个?

时间:2013-06-05 17:11:57

标签: python templates tornado

目前我正在打印像<p>{{data['nation']}}</p>这样的玩家国家。我想更改为每个国家我可以放置不同的图像(图像位于../images文件夹中,其名称如下:american.pngbritish.png ...来自数据的国家/地区{{1} } 1american 2}。如何基于价值为国家展示另一种形象?我正在使用Tornado模板。

1 个答案:

答案 0 :(得分:0)

我不确定我是否正确理解了您的问题,但您可以定义字典以将一个数据映射到另一个数据。您可以使用{% set a=1 %}语法在模板内部执行此操作:

<!-- index.html -->
<html>
<head>
    <title>Test</title>
    {% set map_img = {1:'american.png', 2:'british.png'} %} 
</head>
<body>
    <p>{{data['nation']}} -> {{map_img[data['nation']]}}</p></br>
    <img src="{{static_url("images/")}}{{map_img[data['nation']]}}"/>   
</body>
</html>

但是在模板本身内部声明这样的字典对我来说看起来很糟糕。考虑在应用程序内部进行映射,并将结果与​​其他参数一起传递给render方法。