On Wednesday, 15 October 2014 19:30:01 UTC+1, Daniel Grace wrote: > > Hi, > I'm encountering the following problem with a token in my custom template > tag: > Request Method: GET > Request URL: http://127.0.0.1:8000/flows/ > Django Version: 1.7 > Exception Type: ValueError > Exception Value: > need more than 2 values to unpack > Exception Location: C:\landy\cresta\flow\templatetags\flow_extras.py in > rowcolour, line 7 > > Here is the template file: > from django import template > from datetime import datetime, timedelta > register = template.Library() > > @register.tag > def rowcolour(parser, token): > nm, dt, fmt = token.split_contents() # this is line 7 > diff = datetime.now() - dt > if diff.days > 14: > return "pinkrow" > else: > return "greyrow" > > ... here is the line in the html file: > <tr id="{% rowcolour flow.created %}"> > > ... and "created" is defined as follows in the model: > created = models.DateTimeField(db_index=True, auto_now_add=True) > > I'm trying to extract the datetime from the token. Any ideas? > > Thanks. > > Like the error says, you are telling it to split the result of `token.split_contents()` into three variables, but you are only passing it two elements: "rowcolour" and "flow.created". Where is `fmt` supposed to be coming from?
However, even when you fix that, this still won't work, as at that point `dt` will just be the string "row.created". You need to have a whole template Node in order to resolve variables like that. Why are you not using the `simple_tag` decorator, which is a shortcut for that whole process? @register.simple_tag def rowcolour(dt): diff = datetime.now() - dt ...etc... -- DR. -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/8b95004f-1905-4186-b4e4-26f859936777%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

