python - Django模板用本地图像替换模型返回的文本
问题描述
我有一个模型,我从中提取数据并将其添加到我页面上的表格中。我要返回一个特定字段,其中包含 64 个版本的{x}
. 用相应的图像替换每个版本。
例如,数据以{B}
, {B}{U}
, {B}{B}
,的格式返回{1}{W}{R}
。有 64 种不同的版本{x}
,可以任意组合排列。我有.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>
更新:
有 64 个版本{x}
,例如{1}
, {2}
, {3}
, {4}
,{5}
等。64 个版本是单数。所以每个版本都有对应的img。
然而,每个单一版本可以是任意组合。
例如:
如果返回的数据是{R}
,则应将其替换为以下图像:
但是,如果返回的数据是{R}{R}{R}
,则应将其替换为:
所以它会得到三遍图像。
字符和大括号对应于图像的名称。因此,上述应替换为三个<img class="icon" src="{% static 'img/symbology/{R}.png' %}">
这需要是动态的,因为模型返回了许多记录,并且返回的数据可以是以下任意组合{x}
解决方案
我不确定我是否完全理解您的问题,但您是否尝试遍历图像并将它们与图像 URL 的其余部分连接起来?我会尝试类似的东西:
{% for combo in card.colors %}
<img class="icon" src="{% static 'img/symbology/{{ combo }}.png' %}">
{% endfor %}
推荐阅读
- android - 如何从手机同步联系人以在 android 中佩戴 os 模拟器
- javascript - 哪个 Google rest api 用于搜索出租车应用程序可能的所有地址?
- azure - Azure 认知服务中的 ServiceNow KB
- c# - 负载平衡服务器上的防伪错误
- python - 主字符串 python/biopython 中的现有子字符串没有输出
- convertapi - convertApi.ConvertAsync 不返回转换后的图像
- c# - 视图未在具有 MySQL 数据库的 ASP.NET MVC 应用程序中显示数据
- html - 添加与多行 h1 的最长文本行一样宽的边框
- sql - SQL - 字段中相同ID的不同值,显示在一行中
- angular - 对于所有 API 调用,Angular 获取相同的会话 ID