On 2/11/06, Robert Wittams <robert wittams.com> wrote:
>
> Shannon -jj Behrens wrote:
> >> You don't *need* recursion on templates for
threaded messages like
> >>your example app, that's exactly the point
> >
> >
> > Julio, with all due respect for your programming
prowess, I *like*
> > recursion. It can often make hard problems easy,
even when generating
> > HTML.
> >
> > Anyway, I figured out how to solve the problem
*using recursion*, and
> > I blogged about it:
> > <http://jjinux.blogspot.com/2006
/02/python-recursion-in-django-templates.html>.
> > It works, but it's nowhere near as elegant as
simply being able to
> > add a function to the template that I could call
recursively. :-/
> >
> > Best Regards,
> > -jj
> >
>
> This is ridiculous. Something like this seems a lot
easier to me...
>
> templatetags.py:
>
> register = template.Library()
>
> register.inclusion_tag('comment')
> def show_comment(comment):
> {'comment': comment}
>
>
> comment.html:
>
> {% load comments %}
> {% comment.subject %}
> {% comment.body %}
> {% for child in comments.children %}
> {%show_comment child %}
> {% endfor %}
>
> page.html:
>
> {% show_comment comment %}
>
>
> The moral of the story : custom template tags aren't
really an optional
> bit of the framework. If you don't learn how to use at
least simple_tag
> and inclusion_tag, you will get annoyed quite often.
I think it's unfortunately that template writers have to
resort to
Python just to package up a bit of HTML into a function, but
that's
just my opinion.
-jj
|