Django templates offer the builtin tag cycle for alternating between several values at different points in a template (or for loop in a template) but this tag d
cycle
There's a way to do it server-side with an iterator that doesn't keep a simultaneous copy of all the entries:
import itertools return render_to_response('template.html', { "flattened_entries": itertools.chain(*(blog.entries for blog in blogs)), })