16👍
There’s no builtin way to do that, you’d need to write a simple template filter to do this: http://code.djangoproject.com/ticket/3371
7👍
Try this to display the keys and values of the dictionary:
{% for key, value in your_dict.items %}
{{ key }}: {{ value }}
{% endfor %}
https://docs.djangoproject.com/en/dev/ref/templates/builtins/#for
- [Django]-How to make Facebook Login possible in Django app ?
- [Django]-Django filter events occurring today
- [Django]-CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False
5👍
Here’s a usage case of the suggested answer.
In this example, I created a generic template for outputting tabular data from a view. Meta data about the columns is held in context[“columnMeta”].
Since this is a dictionary, i cannot rely on the keys to output the columns in order, so i have the keys in a separate list for this.
In my view.py:
c["columns"] = ["full_name","age"]
c["columnMeta"] = {"age":{},"full_name":{"label":"name"}}
In my templatetags file:
@register.filter
def getitem ( item, string ):
return item.get(string,'')
In my template:
<tr> <!-- iterate columns in order specified --> {% for key in columns %} <th> <span class="column-title"> <!-- look label in meta dict. If not found, use the column key --> {{columnMeta|getitem:key|getitem:"label"|default:key}} </span> </th> {% endfor %}</tr>
- [Django]-Why second user login redirects me to /accounts/profile/ url in Django?
- [Django]-Variable subtraction in django templates
- [Django]-Reducing Django Memory Usage. Low hanging fruit?
2👍
For my needs, I wanted a single template filter that would work for dicts, lists, and tuples. So, here’s what I use:
@register.filter
def get_item(container, key):
if type(container) is dict:
return container.get(key)
elif type(container) in (list, tuple):
return container[key] if len(container) > key else None
return None
- [Django]-Django plural for templates
- [Django]-Where is the sqlite database file created by Django?
- [Django]-How to do "insert if not exist else update" with mongoengine?