I'm trying to use the jinja documentation to figure it out but all my attempts are failing.
Here is some test JSON data:
items: [{
name: 'item 1',
time: '2015-02-12T00:38:18.055Z'
},{
name: 'item 2',
time: '2014-01-12T00:40:18.881Z'
}]
How should I form the sort code so that I can sort by time?
I'ved tried:
{% for item in items|sort%}
and
{% for item in items|sort(attribute='time')%}
and
{% for item in items|sort('time')%}
and
{% for item in items|sort(time)%}
and
{% for item in items|sort(item.time)%}
But nothing works. Thank you!
I'm trying to use the jinja documentation to figure it out but all my attempts are failing.
http://jinja.pocoo.org/docs/dev/templates/#sort
Here is some test JSON data:
items: [{
name: 'item 1',
time: '2015-02-12T00:38:18.055Z'
},{
name: 'item 2',
time: '2014-01-12T00:40:18.881Z'
}]
How should I form the sort code so that I can sort by time?
I'ved tried:
{% for item in items|sort%}
and
{% for item in items|sort(attribute='time')%}
and
{% for item in items|sort('time')%}
and
{% for item in items|sort(time)%}
and
{% for item in items|sort(item.time)%}
But nothing works. Thank you!
Share Improve this question asked May 26, 2015 at 1:34 sjmartinsjmartin 3,9624 gold badges21 silver badges32 bronze badges 03 Answers
Reset to default 14Nunjucks only seems to support positional arguments:
{% for item in items|sort(false, true, 'time') %}
{{item.name}}<br>
{% endfor %}
var res = nunjucks.renderString("{% for item in items|sort(false, true, 'time') %}{{item.name}}<br>{% endfor %}", { items: [{
name: 'item 1',
time: '2015-02-12T00:38:18.055Z'
},{
name: 'item 2',
time: '2014-01-12T00:40:18.881Z'
}] });
document.body.innerHTML = res;
<script src="https://mozilla.github.io/nunjucks/files/nunjucks.js"></script>
Now nunjucks already supports arguments, so {% for item in items|sort(attribute='time')%} works fine
Parse the time as Epoch time and pass it as another attribute so you can sort it.
items: [{
name: 'item 1',
time: '2015-02-12T00:38:18.055Z',
epoch: 1232323532
}]
Or use a custom filter that does it automatically