Proba:
{% for key, values in dicLetra.items %}
<p>Letra: {{ key }}</p>
<ul>
{% for num in values %}
<li>{{ num }}</li>
{% endfor %}
</ul>
{% endfor %}
Estoy suponiendo que tienes una lista en los valores para cada llave, tipo:
{"A": [1, 2, 3]}
Ya que dictLetra es un dict, la manera usual para recorrer sus llaves y valores
es usar el método items() o iteritems()
Puedes probar en la consola y ver que retorna:
>>> dictLetra = {"A": [1, 2, 3]}
>>> dictLetra.items()
~Rolando
Django es resctrictivo en cuanto a lo que puedes hacer, por ejemplo, no puedes
llamar a un método que tenga argumentos[1]. No se podría hacer {{ dict.get k }}
En cambio en jinja2 podrías hacer:
{% for val in diccionario[letraClave] %}
o
{% for val in diccionario.get(letraClave) %}
Una alternativa en django sería un template filter[2], para que puedas hacer:
{% for k in diccionario %}
{% for v in diccionario|getitem:k %}
....
o
{% with diccionario|getitem:k as value %}
algo sencillo como:
@register.filter
def getitem(value, arg):
return value.get(arg)
[1] http://docs.djangoproject.com/en/dev/ref/templates/api/#rendering-a-context
[2] http://docs.djangoproject.com/en/dev/howto/custom-template-tags/
Rolando Espinoza La fuente
www.insophia.com
Esto no se puede hacer directamente, se supone que si sabes ya la
letra podrías pasar el parámetro por código en lugar de utilizar el
diccionario. Si por lo que sea no te va bien así puedes crear tu
propio templatetag.
Antes de crear el templatetag plantéate si no hay otra manera de
hacerlo. Las plantillas deben tener sólo la lógica imprescindible para
la capa de presentación.
--
Antoni Aloy López
Blog: http://trespams.com
Site: http://apsl.net