Cómo estructurar datos para construir fácilmente tablas HTML en Flask

Estoy tratando de crear tablas HTML a partir de datos almacenados en una tabla. Mis datos se leen de una tabla y se convierten en un dict de listas, por ejemplo:

x = {'date':[u'2012-06-28', u'2012-06-29', u'2012-06-30'], 'users': [405, 368, 119]}

Mi objetivo es crear una tabla HTML con la siguiente estructura para una longitud de lista arbitraria:

<table>
  <thead>
    <th>Date</th>
    <th>Users</th>
  </thead>

  <tbody>      
    <tr>
      <td>2012-06-28</td>
      <td>405</td>
    </tr>
    <tr>
      <td>2012-06-29</td>
      <td>368</td>
    </tr>
    <tr>
      <td>2012-06-30</td>
      <td>119</td>
    </tr>
  </tbody>
</table> 

He intentado hacer esto de dos maneras incorrectas en mi plantilla Flask:

<tbody>
  {% for line in x %}
    <tr>
      <td>{{ x.date|tojson|safe }}</td>
      <td>{{ x.users }}</td>
     </tr>
   {% endfor %}
</tbody>

Que imprime la lista completa en cada columna.

Y:

{% for date in x.date %}
  <tr><td>{{ date|tojson|safe }}</td></tr>
{% endfor %}

{% for users in x.users %}
  <tr><td>{{ users }}</td></tr>
{% endfor %}

Lo que simplemente imprime todo en la primera columna.

Estos experimentos y muchos otros callejones sin salida me llevan a creer que no hay una manera simple de construir la tabla como me gustaría, dada mi estructura de datos actual.

Teniendo en cuenta esto, tengo dos preguntas:
1) ¿Cómo haría para construir la tabla utilizando mi estructura de datos actual?
2) ¿Cuál es la forma estándar o ideal de estructurar los datos para este caso de uso?

Gracias por adelantado.

Respuestas a la pregunta(3)

Su respuesta a la pregunta