For Django, yes, this is a problem , but not for jinja2. The code you provided works:
>>> import jinja2
>>> env = jinja2.Environment()
>>> t = env.from_string("""
... {% for field in fields %}
... <td> {{ item[field] }} </td>
... {% endfor %}""")
>>> print t.generate(item={'key':'value'}, fields=['key']).next()
<td> value </td>
source
share