In Rails ERB, you can suppress newlines by adding a trailing hyphen to tags:
<% for @item in @items -%>
- <%= @item %>
The closest I've found to what you're looking for (I'm looking for the same thing) is talk about a future patch, here: http://code.djangoproject.com/ticket/2594.
Unfortunately, it looks like there's not much you can do until they merge that patch in.
{% spaceless %}
<ul>
<li>apple</li>
<li>banana</li>
<li>cacao</li>
</ul>
{% endspaceless %}
I am not aware about any way to discard template tags lines. I'd vote for opening bug report.
For example:
<ul>
{% for obj in list %}
<li>{{ obj|linebreaksbr|striptags }}</li>
{% endfor %}
</ul>
Or this, which also strips whitespaces/tabs/etc, between HTML tags:
{{ spaceless }}
<ul>
{% for obj in list %}
<li>{{ obj }}</li>
{% endfor %}
</ul>
{{ endspaceless }}
When you write a template, you could open the ul hardcoded in the template and looping trought items en returning there value with the in it.
As far as i know there isn't a default function for that.
It is 2016 now, and I think this issue is still present. In this tutorial https://www.youtube.com/watch?v=vQjmz9wCjLA at around 1:45 a unittest of a template shows that there is a trailing newline on the end of the tag.