【发布时间】:2021-03-06 17:55:20
【问题描述】:
我有一个模型,我从中提取数据并将其添加到我页面上的表格中。我要返回一个特定字段,其中包含 64 个版本的 {x} 的组合。用相应的图像替换每个版本。
例如以{B},{B}{U},{B}{B},{1}{W}{R}的格式返回数据。 {x} 有 64 个不同版本,可以任意组合排列。每个版本我都有对应的.png 文件,我正在尝试用图像替换文本。
我下面的代码仅在版本的单个实例时才有效,但是我也认为如果我为 64 个版本中的每一个都执行此操作将非常低效。如果有多个相同的版本,例如,它不起作用。 {B}{B}
有没有一种方法可以循环遍历每一个并用正确的图像替换它。
html
<td class="">
{% if "{B}" in card.colors %}<img class="icon" src="{% static 'img/symbology/{B}.png' %}">{% endif %}
{% if "{G}" in card.colors %}<img class="icon" src="{% static 'img/symbology/{G}.png' %}">{% endif %}
{% if "{R}" in card.colors %}<img class="icon" src="{% static 'img/symbology/{R}.png' %}">{% endif %}
{% if "{U}" in card.colors %}<img class="icon" src="{% static 'img/symbology/{U}.png' %}">{% endif %}
{% if "{W}" in card.colors %}<img class="icon" src="{% static 'img/symbology/{W}.png' %}">{% endif %}
...
</td>
更新:
{x}有64个版本,例如{1},{2},{3},{4},{5}等。64个版本是单数。所以每个版本都有对应的img。
但是每个版本都可以任意组合。
例如:
如果返回的数据为{R},则应替换为下图:
但如果返回的数据是{R}{R}{R},则应替换为:
所以它会得到图像 3 次。
字符和大括号与图像的名称相对应。因此以上内容应替换为三个<img class="icon" src="{% static 'img/symbology/{R}.png' %}">
这需要是动态的,因为模型返回了许多记录,并且返回的数据可以是 {x} 的任意组合
【问题讨论】:
标签: python html python-3.x django django-templates