Solution
from dataclasses import dataclass
@dataclass
class Bean:
id: str
name: str
beans = [
Bean(id=1, name="Guatemalan"),
Bean(id=2, name="Peruvian"),
Bean(id=3, name="Hawaiian"),
]
import jinja2
t = jinja2.Template('''
{% for bean in beans %}
{% for attr in bean.__dict__.keys() -%}
{{ attr }} | {{ bean[attr] }} |
{% endfor -%}
{% endfor %}
''')
print(t.render(beans=beans))
id | 1 |
name | Guatemalan |
id | 2 |
name | Peruvian |
id | 3 |
name | Hawaiian |
from dataclasses import dataclass, asdict
...
t = jinja2.Template('''
{% for bean in beans %}
{% for attr in bean.keys() -%}
{{ attr }} | {{ bean[attr] }} |
{% endfor -%}
{% endfor %}
''')
print(t.render(beans=(asdict(bean) for bean in beans)))