Hm. Looks like the with tag would help with this, as it accepts filtered values:
{% with person|get_obj:col|gt:too_large as val_too_large %} {% if val_too_large %} ... {% endif %} {% endwith %} On Feb 19, 10:55 am, Daniel Wong <allyourc...@gmail.com> wrote: > Thanks, Roseman. I was hoping I wouldn't have to resort to custom > filters or tags, because it obfuscates template code that should be > really simple. Also, I don't think filters can be applied to this > slightly modified example: > > {% for person in people %} > <tr> > {% for col in columns %} > <td{% if person.get(col) > too_large %} class="too-large"{% endif > %}> > {{ person.get(col) }} > </td> > {% endfor %} > {% endfor %} > > I know Django templates were intentionally designed to disallow > passing arguments to methods; therefore, I'm assuming there must be a > clean way of implementing this example that I'm just not aware of. > > On Feb 19, 12:27 am, Daniel Roseman <dan...@roseman.org.uk> wrote: > > > On Feb 19, 8:04 am, Daniel Wong <allyourc...@gmail.com> wrote: > > > > Seems like there's no good way to do this, because you can't call > > > methods that take > 0 arguments. > > > > Here's an example of the sort of thing I'm trying to do. Imagine > > > you're trying to create a spreadsheet like view: > > > > {% for person in people %} > > > <tr> > > > {% for col in columns %} > > > <td>{{ person.get(col) }}</td> > > > {% endfor %} > > > {% endfor %} > > > > Seems like you'd have to use custom tags to achieve this, but that > > > seems way too complicated for something so simple. Is there a better > > > way? > > > Writing a custom filter for this is the correct way - and it's a three- > > line job: > > > @register.filter > > def get_obj(obj, value): > > return obj.get(value) > > > -- > > DR. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.