Я новичок в Python - будьте предупреждены!
У меня есть шаблонный класс, который принимает список в качестве аргумента и применяет члены списка к шаблону. Вот первый класс:
class ListTemplate:
def __init__(self, input_list=[]):
self.input_list = input_list
def __str__(self):
return "\n".join([self._template % x for x in self.input_list])
Вот код шаблона / класса:
class HTML_Template(ListTemplate):
_template = """
<li>
<table width="100%%" border="0">
<tr>
<td>Title: %(title)s</td>
<td>Link: %(isbn)s</td>
</tr>
<tr>
<td>Author: %(author)s</td>
<td>Date: %(pub_date)s</td>
</tr>
<tr>
<td>Summary: %(isbn)s</td>
<td>Description: %(descr)s</td>
</tr>
</table>
<hr>
</li>"""
Вот проблема:
Я извлекаю данные из базы данных sqlite, используя fetchall, который возвращает список кортежей. Я могу передать этот список кортежей этому методу, изменив шаблон на% s вместо% (isbn) ... и т. Д., Однако мне нужно получить доступ к члену isbn несколько раз в шаблоне. Чтобы сделать это сейчас, я загружаю кортежи в словари и помещаю их в другой список ... затем передаю список словарей. Это кажется мне неэффективным. Мой вопрос: как бы вы переписали это так, чтобы исходный список кортежей мог быть передан в шаблон (таким образом, сохраняя шаг), при этом оставляя доступ к отдельным членам, т. Е. Item [0] или аналогичным? 1011 *
Спасибо ~
Бубнофф