2010-12-03 5 views

Répondre

2

Une manière simple de le faire est avec une étiquette de modèle de filtre.

from django.template import Library 

register = Library() 

@register.filter('titleofwidth') 
def titleofwidth(post, width): 
    """ 
    Get the title of a given width of a post. 

    Sample usage: {{ post|titleofwidth:200 }} 
    """ 

    for i in post['sizes']: 
     if i['w'] == width: 
      return i['title'] 
    return None 

Cela devrait aller dans un paquet templatetags, dire que postfilters.py et {% load postfilters %} dans votre modèle.

Naturellement, vous pouvez également modifier cela pour vous donner l'objet correct sizes et ainsi vous pouvez faire {% with post|detailsofwidth:200 as postdetails %}{{ postdetails.something }}, {{ postdetails.title }}{% endwith %}.

0
{% for i in post.sizes %} 
    {% if i.w == 200 %}{{ i.title }}{% endif %} 
{% endfor %}