hi, in many models with an imagefield called photo, I have this code in the template:
{% if p.photo %} <img src="{% thumbnail p.photo 400x400 %}" /> {% endif %} this has been working across many sites for years - and is working on a particular site running Revision: 12453. In my current project I am getting keyerror: photo where the photo does not exist. This is running on latest trunk. The only difference between the two sites is that in site where it is working, 'p' is a query set passed from the view, whereas in the site where it is not working, the values are got from a pickled file, so the code is like this: {% if hand.0.player.photo %}hi{% endif %} here hand.0.player is a Player model which has a field called photo. If the photo does not exist I get a KeyError. The full error traceback is given below: Environment: Request Method: GET Request URL: http://127.0.0.1:8000/displayhandicap/ Django Version: 1.2.1 SVN-13354 Python Version: 2.6.2 Installed Applications: ['django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.admin', 'djangogolf.web', 'sorl.thumbnail'] Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware') Template error: In template /home/lawgon/djangogolf/templates/web/handicaplist.html, error at line 20 Caught KeyError while rendering: photo 10 : <table> 11 : <tr> 12 : <th>Member </th> 13 : <th>Photo </th> 14 : <th>Club </th> 15 : <th>Handicap index </th> 16 : <th>Handicap for Ooty</th> 17 : <th>Handicap for Coimbatore</th> 18 : <th>Cut?</th> 19 : </tr> 20 : {% for hand in handlist.hlist %} 21 : <tr> 22 : <td><a href="/scoringrecord/{{hand.0.id}}/">{{hand.0}}</a></td> 23 : 24 : <td>{% if hand.0.player.photo %}hi{% endif %}</td> 25 : <td>{{hand.0.player.homeclub.shortname}} </td> 26 : <td>{{hand.1}} </td> 27 : <td>{{hand.2}} </td> 28 : <td>{{hand.3}} </td> 29 : <td>{{hand.4}} </td> 30 : </tr> Traceback: File "/usr/lib/python2.6/site-packages/django/core/handlers/base.py" in get_response 100. response = callback(request, *callback_args, **callback_kwargs) File "/usr/lib/python2.6/site-packages/djangogolf/web/views.py" in displayhandicap 1911. {'handlist':handlist,})) File "/usr/lib/python2.6/site-packages/django/shortcuts/__init__.py" in render_to_response 20. return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs) File "/usr/lib/python2.6/site-packages/django/template/loader.py" in render_to_string 186. return t.render(context_instance) File "/usr/lib/python2.6/site-packages/django/template/__init__.py" in render 173. return self._render(context) File "/usr/lib/python2.6/site-packages/django/template/__init__.py" in _render 167. return self.nodelist.render(context) File "/usr/lib/python2.6/site-packages/django/template/__init__.py" in render 796. bits.append(self.render_node(node, context)) File "/usr/lib/python2.6/site-packages/django/template/debug.py" in render_node 72. result = node.render(context) File "/usr/lib/python2.6/site-packages/django/template/loader_tags.py" in render 125. return compiled_parent._render(context) File "/usr/lib/python2.6/site-packages/django/template/__init__.py" in _render 167. return self.nodelist.render(context) File "/usr/lib/python2.6/site-packages/django/template/__init__.py" in render 796. bits.append(self.render_node(node, context)) File "/usr/lib/python2.6/site-packages/django/template/debug.py" in render_node 72. result = node.render(context) File "/usr/lib/python2.6/site-packages/django/template/loader_tags.py" in render 62. result = block.nodelist.render(context) File "/usr/lib/python2.6/site-packages/django/template/__init__.py" in render 796. bits.append(self.render_node(node, context)) File "/usr/lib/python2.6/site-packages/django/template/debug.py" in render_node 72. result = node.render(context) File "/usr/lib/python2.6/site-packages/django/template/defaulttags.py" in render 251. return self.nodelist_true.render(context) File "/usr/lib/python2.6/site-packages/django/template/__init__.py" in render 796. bits.append(self.render_node(node, context)) File "/usr/lib/python2.6/site-packages/django/template/debug.py" in render_node 72. result = node.render(context) File "/usr/lib/python2.6/site-packages/django/template/defaulttags.py" in render 167. nodelist.append(node.render(context)) File "/usr/lib/python2.6/site-packages/django/template/defaulttags.py" in render 246. var = self.var.eval(context) File "/usr/lib/python2.6/site-packages/django/template/defaulttags.py" in eval 751. return self.value.resolve(context, ignore_failures=True) File "/usr/lib/python2.6/site-packages/django/template/__init__.py" in resolve 553. obj = self.var.resolve(context) File "/usr/lib/python2.6/site-packages/django/template/__init__.py" in resolve 696. value = self._resolve_lookup(context) File "/usr/lib/python2.6/site-packages/django/template/__init__.py" in _resolve_lookup 725. current = getattr(current, bit) File "/usr/lib/python2.6/site-packages/django/db/models/fields/files.py" in __get__ 175. file = instance.__dict__[self.field.name] Exception Type: TemplateSyntaxError at /displayhandicap/ Exception Value: Caught KeyError while rendering: photo -- Regards Kenneth Gonsalves Senior Associate NRC-FOSS at AU-KBC -- 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.