| 3 | | |
| 4 | | Template error |
| 5 | | |
| 6 | | In template /usr/lib/python2.5/site-packages/django/contrib/admin/templates/admin/edit_inline/tabular.html, error at line 24 |
| 7 | | Caught an exception while rendering: coercing to Unicode: need string or buffer, ImageFieldFile found |
| 8 | | 14 {% endfor %} |
| 9 | | 15 {% if inline_admin_formset.formset.can_delete %}<th>{% trans "Delete?" %}</th>{% endif %} |
| 10 | | 16 </tr></thead> |
| 11 | | 17 |
| 12 | | 18 {% for inline_admin_form in inline_admin_formset %} |
| 13 | | 19 |
| 14 | | 20 <tr class="{% cycle row1,row2 %} {% if inline_admin_form.original or inline_admin_form.show_url %}has_original{% endif %}"> |
| 15 | | 21 |
| 16 | | 22 <td class="original"> |
| 17 | | 23 {% if inline_admin_form.original or inline_admin_form.show_url %}<p> |
| 18 | | 24 {% if inline_admin_form.original %} {{ inline_admin_form.original }}{% endif %} |
| 19 | | 25 {% if inline_admin_form.show_url %}<a href="../../../r/{{ inline_admin_form.original.content_type_id }}/{{ inline_admin_form.original.id }}/">{% trans "View on site" %}</a>{% endif %} |
| 20 | | 26 </p>{% endif %} |
| 21 | | 27 {{ inline_admin_form.pk_field.field }} |
| 22 | | 28 {% spaceless %} |
| 23 | | 29 {% for fieldset in inline_admin_form %} |
| 24 | | 30 {% for line in fieldset %} |
| 25 | | 31 {% for field in line %} |
| 26 | | 32 {% if field.is_hidden %} {{ field.field }} {% endif %} |
| 27 | | 33 {% endfor %} |
| 28 | | 34 {% endfor %} |
| 29 | | Traceback Switch to copy-and-paste view |
| 30 | | |
| 31 | | * /usr/lib/python2.5/site-packages/django/core/handlers/base.py in get_response |
| 32 | | 79. # Apply view middleware |
| 33 | | 80. for middleware_method in self._view_middleware: |
| 34 | | 81. response = middleware_method(request, callback, callback_args, callback_kwargs) |
| 35 | | 82. if response: |
| 36 | | 83. return response |
| 37 | | 84. |
| 38 | | 85. try: |
| 39 | | 86. response = callback(request, *callback_args, **callback_kwargs) ... |
| 40 | | 87. except Exception, e: |
| 41 | | 88. # If the view raised an exception, run it through exception |
| 42 | | 89. # middleware, and if the exception middleware returns a |
| 43 | | 90. # response, use that. Otherwise, reraise the exception. |
| 44 | | 91. for middleware_method in self._exception_middleware: |
| 45 | | 92. response = middleware_method(request, e) |
| 46 | | ▶ Local vars |
| 47 | | Variable Value |
| 48 | | callback |
| 49 | | <bound method AdminSite.root of <django.contrib.admin.sites.AdminSite object at 0x84d58ac>> |
| 50 | | callback_args |
| 51 | | (u'blogengine/entry/7792/',) |
| 52 | | callback_kwargs |
| 53 | | {} |
| 54 | | e |
| 55 | | TemplateSyntaxError(u'Caught an exception while rendering: coercing to Unicode: need string or buffer, ImageFieldFile found',) |
| 56 | | exc_info |
| 57 | | (<class 'django.template.TemplateSyntaxError'>, TemplateSyntaxError(u'Caught an exception while rendering: coercing to Unicode: need string or buffer, ImageFieldFile found',), <traceback object at 0x88a389c>) |
| 58 | | exceptions |
| 59 | | <module 'django.core.exceptions' from '/usr/lib/python2.5/site-packages/django/core/exceptions.pyc'> |
| 60 | | middleware_method |
| 61 | | <bound method XViewMiddleware.process_view of <django.middleware.doc.XViewMiddleware object at 0x863cdac>> |
| 62 | | receivers |
| 63 | | [(<function _rollback_on_exception at 0x83c080c>, None)] |
| 64 | | request |
| 65 | | <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{'loj': '813779e21550f0ec85afab540dcaaead'}, META:{'COLORTERM': 'gnome-terminal', 'CONTENT_LENGTH': '', 'CONTENT_TYPE': 'text/plain', 'DBUS_SESSION_BUS_ADDRESS': 'unix:abstract=/tmp/dbus-JScisqaUty,guid=a44545a8bb30caddf309679148bc008f', 'DESKTOP_SESSION': 'default', 'DISPLAY': ':0.0', 'DJANGO_SETTINGS_MODULE': 'lifeofjalo.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'GDMSESSION': 'default', 'GDM_LANG': 'en_US.UTF-8', 'GDM_XSERVER_LOCATION': 'local', 'GNOME_DESKTOP_SESSION_ID': 'Default', 'GNOME_KEYRING_PID': '11923', 'GNOME_KEYRING_SOCKET': '/tmp/keyring-aOeKUS/socket', 'GPG_AGENT_INFO': '/tmp/seahorse-ZM5CqE/S.gpg-agent:12030:1', 'GTK_RC_FILES': '/etc/gtk/gtkrc:/home/ramin/.gtkrc-1.2-gnome2', 'HISTCONTROL': 'ignoreboth', 'HOME': '/home/ramin', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'loj=813779e21550f0ec85afab540dcaaead', 'HTTP_HOST': 'localhost:8000', 'HTTP_KEEP_ALIVE': '300', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1', 'LANG': 'en_US.UTF-8', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'LIBGL_DRIVERS_PATH': '/usr/lib/dri', 'LOGNAME': 'ramin', 'LS_COLORS': 'no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:', 'PATH': '/home/ramin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games', 'PATH_INFO': u'/admin/blogengine/entry/7792/', 'PWD': '/home/ramin/devel/lifeofjalo', 'PYTHONPATH': ':/home/ramin/devel/python', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'GET', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'shaftoe.home.fierymill.net', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.5.2', 'SESSION_MANAGER': 'local/shaftoe:/tmp/.ICE-unix/11924', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': '/tmp/keyring-aOeKUS/ssh', 'TERM': 'xterm', 'TZ': 'Europe/Helsinki', 'USER': 'ramin', 'USERNAME': 'ramin', 'WINDOWID': '31457663', 'WINDOWPATH': '7:7', 'XAUTHORITY': '/tmp/.gdm5V5MGU', 'XDG_DATA_DIRS': '/usr/local/share/:/usr/share/:/usr/share/gdm/', 'XDG_SESSION_COOKIE': '2da2e590671719852a41670046d7eae7-1220280461.811025-1645281592', '_': '/usr/bin/python', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0xb7d150b0>, 'wsgi.file_wrapper': <class 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': <socket._fileobject object at 0x87ac1b4>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}> |
| 66 | | resolver |
| 67 | | <RegexURLResolver lifeofjalo.urls ^/> |
| 68 | | response |
| 69 | | None |
| 70 | | self |
| 71 | | <django.core.handlers.wsgi.WSGIHandler object at 0x855f68c> |
| 72 | | settings |
| 73 | | <django.conf.LazySettings object at 0xb7c67f8c> |
| 74 | | urlconf |
| 75 | | 'lifeofjalo.urls' |
| 76 | | urlresolvers |
| 77 | | <module 'django.core.urlresolvers' from '/usr/lib/python2.5/site-packages/django/core/urlresolvers.pyc'> |
| 78 | | * /usr/lib/python2.5/site-packages/django/contrib/admin/sites.py in root |
| 79 | | 166. return self.i18n_javascript(request) |
| 80 | | 167. # urls starting with 'r/' are for the "show in web" links |
| 81 | | 168. elif url.startswith('r/'): |
| 82 | | 169. from django.views.defaults import shortcut |
| 83 | | 170. return shortcut(request, *url.split('/')[1:]) |
| 84 | | 171. else: |
| 85 | | 172. if '/' in url: |
| 86 | | 173. return self.model_page(request, *url.split('/', 2)) ... |
| 87 | | 174. else: |
| 88 | | 175. return self.app_index(request, url) |
| 89 | | 176. |
| 90 | | 177. raise http.Http404('The requested admin page does not exist.') |
| 91 | | 178. |
| 92 | | 179. def model_page(self, request, app_label, model_name, rest_of_url=None): |
| 93 | | ▶ Local vars |
| 94 | | Variable Value |
| 95 | | request |
| 96 | | <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{'loj': '813779e21550f0ec85afab540dcaaead'}, META:{'COLORTERM': 'gnome-terminal', 'CONTENT_LENGTH': '', 'CONTENT_TYPE': 'text/plain', 'DBUS_SESSION_BUS_ADDRESS': 'unix:abstract=/tmp/dbus-JScisqaUty,guid=a44545a8bb30caddf309679148bc008f', 'DESKTOP_SESSION': 'default', 'DISPLAY': ':0.0', 'DJANGO_SETTINGS_MODULE': 'lifeofjalo.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'GDMSESSION': 'default', 'GDM_LANG': 'en_US.UTF-8', 'GDM_XSERVER_LOCATION': 'local', 'GNOME_DESKTOP_SESSION_ID': 'Default', 'GNOME_KEYRING_PID': '11923', 'GNOME_KEYRING_SOCKET': '/tmp/keyring-aOeKUS/socket', 'GPG_AGENT_INFO': '/tmp/seahorse-ZM5CqE/S.gpg-agent:12030:1', 'GTK_RC_FILES': '/etc/gtk/gtkrc:/home/ramin/.gtkrc-1.2-gnome2', 'HISTCONTROL': 'ignoreboth', 'HOME': '/home/ramin', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'loj=813779e21550f0ec85afab540dcaaead', 'HTTP_HOST': 'localhost:8000', 'HTTP_KEEP_ALIVE': '300', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1', 'LANG': 'en_US.UTF-8', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'LIBGL_DRIVERS_PATH': '/usr/lib/dri', 'LOGNAME': 'ramin', 'LS_COLORS': 'no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:', 'PATH': '/home/ramin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games', 'PATH_INFO': u'/admin/blogengine/entry/7792/', 'PWD': '/home/ramin/devel/lifeofjalo', 'PYTHONPATH': ':/home/ramin/devel/python', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'GET', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'shaftoe.home.fierymill.net', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.5.2', 'SESSION_MANAGER': 'local/shaftoe:/tmp/.ICE-unix/11924', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': '/tmp/keyring-aOeKUS/ssh', 'TERM': 'xterm', 'TZ': 'Europe/Helsinki', 'USER': 'ramin', 'USERNAME': 'ramin', 'WINDOWID': '31457663', 'WINDOWPATH': '7:7', 'XAUTHORITY': '/tmp/.gdm5V5MGU', 'XDG_DATA_DIRS': '/usr/local/share/:/usr/share/:/usr/share/gdm/', 'XDG_SESSION_COOKIE': '2da2e590671719852a41670046d7eae7-1220280461.811025-1645281592', '_': '/usr/bin/python', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0xb7d150b0>, 'wsgi.file_wrapper': <class 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': <socket._fileobject object at 0x87ac1b4>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}> |
| 97 | | self |
| 98 | | <django.contrib.admin.sites.AdminSite object at 0x84d58ac> |
| 99 | | url |
| 100 | | u'blogengine/entry/7792' |
| 101 | | * /usr/lib/python2.5/site-packages/django/views/decorators/cache.py in _wrapped_view_func |
| 102 | | 37. |
| 103 | | 38. def never_cache(view_func): |
| 104 | | 39. """ |
| 105 | | 40. Decorator that adds headers to a response so that it will |
| 106 | | 41. never be cached. |
| 107 | | 42. """ |
| 108 | | 43. def _wrapped_view_func(request, *args, **kwargs): |
| 109 | | 44. response = view_func(request, *args, **kwargs) ... |
| 110 | | 45. add_never_cache_headers(response) |
| 111 | | 46. return response |
| 112 | | 47. return wraps(view_func)(_wrapped_view_func) |
| 113 | | ▶ Local vars |
| 114 | | Variable Value |
| 115 | | args |
| 116 | | (<WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{'loj': '813779e21550f0ec85afab540dcaaead'}, META:{'COLORTERM': 'gnome-terminal', 'CONTENT_LENGTH': '', 'CONTENT_TYPE': 'text/plain', 'DBUS_SESSION_BUS_ADDRESS': 'unix:abstract=/tmp/dbus-JScisqaUty,guid=a44545a8bb30caddf309679148bc008f', 'DESKTOP_SESSION': 'default', 'DISPLAY': ':0.0', 'DJANGO_SETTINGS_MODULE': 'lifeofjalo.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'GDMSESSION': 'default', 'GDM_LANG': 'en_US.UTF-8', 'GDM_XSERVER_LOCATION': 'local', 'GNOME_DESKTOP_SESSION_ID': 'Default', 'GNOME_KEYRING_PID': '11923', 'GNOME_KEYRING_SOCKET': '/tmp/keyring-aOeKUS/socket', 'GPG_AGENT_INFO': '/tmp/seahorse-ZM5CqE/S.gpg-agent:12030:1', 'GTK_RC_FILES': '/etc/gtk/gtkrc:/home/ramin/.gtkrc-1.2-gnome2', 'HISTCONTROL': 'ignoreboth', 'HOME': '/home/ramin', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'loj=813779e21550f0ec85afab540dcaaead', 'HTTP_HOST': 'localhost:8000', 'HTTP_KEEP_ALIVE': '300', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1', 'LANG': 'en_US.UTF-8', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'LIBGL_DRIVERS_PATH': '/usr/lib/dri', 'LOGNAME': 'ramin', 'LS_COLORS': 'no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:', 'PATH': '/home/ramin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games', 'PATH_INFO': u'/admin/blogengine/entry/7792/', 'PWD': '/home/ramin/devel/lifeofjalo', 'PYTHONPATH': ':/home/ramin/devel/python', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'GET', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'shaftoe.home.fierymill.net', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.5.2', 'SESSION_MANAGER': 'local/shaftoe:/tmp/.ICE-unix/11924', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': '/tmp/keyring-aOeKUS/ssh', 'TERM': 'xterm', 'TZ': 'Europe/Helsinki', 'USER': 'ramin', 'USERNAME': 'ramin', 'WINDOWID': '31457663', 'WINDOWPATH': '7:7', 'XAUTHORITY': '/tmp/.gdm5V5MGU', 'XDG_DATA_DIRS': '/usr/local/share/:/usr/share/:/usr/share/gdm/', 'XDG_SESSION_COOKIE': '2da2e590671719852a41670046d7eae7-1220280461.811025-1645281592', '_': '/usr/bin/python', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0xb7d150b0>, 'wsgi.file_wrapper': <class 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': <socket._fileobject object at 0x87ac1b4>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>, u'blogengine', u'entry', u'7792') |
| 117 | | kwargs |
| 118 | | {} |
| 119 | | request |
| 120 | | <django.contrib.admin.sites.AdminSite object at 0x84d58ac> |
| 121 | | view_func |
| 122 | | <function model_page at 0x84d809c> |
| 123 | | * /usr/lib/python2.5/site-packages/django/contrib/admin/sites.py in model_page |
| 124 | | 185. model = models.get_model(app_label, model_name) |
| 125 | | 186. if model is None: |
| 126 | | 187. raise http.Http404("App %r, model %r, not found." % (app_label, model_name)) |
| 127 | | 188. try: |
| 128 | | 189. admin_obj = self._registry[model] |
| 129 | | 190. except KeyError: |
| 130 | | 191. raise http.Http404("This model exists but has not been registered with the admin site.") |
| 131 | | 192. return admin_obj(request, rest_of_url) ... |
| 132 | | 193. model_page = never_cache(model_page) |
| 133 | | 194. |
| 134 | | 195. def password_change(self, request): |
| 135 | | 196. """ |
| 136 | | 197. Handles the "change password" task -- both form display and validation. |
| 137 | | 198. """ |
| 138 | | ▶ Local vars |
| 139 | | Variable Value |
| 140 | | admin_obj |
| 141 | | <lifeofjalo.blogengine.admin.EntryAdmin object at 0x86b94ac> |
| 142 | | app_label |
| 143 | | u'blogengine' |
| 144 | | model |
| 145 | | <class 'lifeofjalo.blogengine.models.Entry'> |
| 146 | | model_name |
| 147 | | u'entry' |
| 148 | | models |
| 149 | | <module 'django.db.models' from '/usr/lib/python2.5/site-packages/django/db/models/__init__.pyc'> |
| 150 | | request |
| 151 | | <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{'loj': '813779e21550f0ec85afab540dcaaead'}, META:{'COLORTERM': 'gnome-terminal', 'CONTENT_LENGTH': '', 'CONTENT_TYPE': 'text/plain', 'DBUS_SESSION_BUS_ADDRESS': 'unix:abstract=/tmp/dbus-JScisqaUty,guid=a44545a8bb30caddf309679148bc008f', 'DESKTOP_SESSION': 'default', 'DISPLAY': ':0.0', 'DJANGO_SETTINGS_MODULE': 'lifeofjalo.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'GDMSESSION': 'default', 'GDM_LANG': 'en_US.UTF-8', 'GDM_XSERVER_LOCATION': 'local', 'GNOME_DESKTOP_SESSION_ID': 'Default', 'GNOME_KEYRING_PID': '11923', 'GNOME_KEYRING_SOCKET': '/tmp/keyring-aOeKUS/socket', 'GPG_AGENT_INFO': '/tmp/seahorse-ZM5CqE/S.gpg-agent:12030:1', 'GTK_RC_FILES': '/etc/gtk/gtkrc:/home/ramin/.gtkrc-1.2-gnome2', 'HISTCONTROL': 'ignoreboth', 'HOME': '/home/ramin', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'loj=813779e21550f0ec85afab540dcaaead', 'HTTP_HOST': 'localhost:8000', 'HTTP_KEEP_ALIVE': '300', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1', 'LANG': 'en_US.UTF-8', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'LIBGL_DRIVERS_PATH': '/usr/lib/dri', 'LOGNAME': 'ramin', 'LS_COLORS': 'no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:', 'PATH': '/home/ramin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games', 'PATH_INFO': u'/admin/blogengine/entry/7792/', 'PWD': '/home/ramin/devel/lifeofjalo', 'PYTHONPATH': ':/home/ramin/devel/python', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'GET', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'shaftoe.home.fierymill.net', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.5.2', 'SESSION_MANAGER': 'local/shaftoe:/tmp/.ICE-unix/11924', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': '/tmp/keyring-aOeKUS/ssh', 'TERM': 'xterm', 'TZ': 'Europe/Helsinki', 'USER': 'ramin', 'USERNAME': 'ramin', 'WINDOWID': '31457663', 'WINDOWPATH': '7:7', 'XAUTHORITY': '/tmp/.gdm5V5MGU', 'XDG_DATA_DIRS': '/usr/local/share/:/usr/share/:/usr/share/gdm/', 'XDG_SESSION_COOKIE': '2da2e590671719852a41670046d7eae7-1220280461.811025-1645281592', '_': '/usr/bin/python', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0xb7d150b0>, 'wsgi.file_wrapper': <class 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': <socket._fileobject object at 0x87ac1b4>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}> |
| 152 | | rest_of_url |
| 153 | | u'7792' |
| 154 | | self |
| 155 | | <django.contrib.admin.sites.AdminSite object at 0x84d58ac> |
| 156 | | * /usr/lib/python2.5/site-packages/django/contrib/admin/options.py in __call__ |
| 157 | | 189. elif url == "add": |
| 158 | | 190. return self.add_view(request) |
| 159 | | 191. elif url.endswith('/history'): |
| 160 | | 192. return self.history_view(request, unquote(url[:-8])) |
| 161 | | 193. elif url.endswith('/delete'): |
| 162 | | 194. return self.delete_view(request, unquote(url[:-7])) |
| 163 | | 195. else: |
| 164 | | 196. return self.change_view(request, unquote(url)) ... |
| 165 | | 197. |
| 166 | | 198. def _media(self): |
| 167 | | 199. from django.conf import settings |
| 168 | | 200. |
| 169 | | 201. js = ['js/core.js', 'js/admin/RelatedObjectLookups.js'] |
| 170 | | 202. if self.prepopulated_fields: |
| 171 | | ▶ Local vars |
| 172 | | Variable Value |
| 173 | | request |
| 174 | | <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{'loj': '813779e21550f0ec85afab540dcaaead'}, META:{'COLORTERM': 'gnome-terminal', 'CONTENT_LENGTH': '', 'CONTENT_TYPE': 'text/plain', 'DBUS_SESSION_BUS_ADDRESS': 'unix:abstract=/tmp/dbus-JScisqaUty,guid=a44545a8bb30caddf309679148bc008f', 'DESKTOP_SESSION': 'default', 'DISPLAY': ':0.0', 'DJANGO_SETTINGS_MODULE': 'lifeofjalo.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'GDMSESSION': 'default', 'GDM_LANG': 'en_US.UTF-8', 'GDM_XSERVER_LOCATION': 'local', 'GNOME_DESKTOP_SESSION_ID': 'Default', 'GNOME_KEYRING_PID': '11923', 'GNOME_KEYRING_SOCKET': '/tmp/keyring-aOeKUS/socket', 'GPG_AGENT_INFO': '/tmp/seahorse-ZM5CqE/S.gpg-agent:12030:1', 'GTK_RC_FILES': '/etc/gtk/gtkrc:/home/ramin/.gtkrc-1.2-gnome2', 'HISTCONTROL': 'ignoreboth', 'HOME': '/home/ramin', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'loj=813779e21550f0ec85afab540dcaaead', 'HTTP_HOST': 'localhost:8000', 'HTTP_KEEP_ALIVE': '300', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1', 'LANG': 'en_US.UTF-8', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'LIBGL_DRIVERS_PATH': '/usr/lib/dri', 'LOGNAME': 'ramin', 'LS_COLORS': 'no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:', 'PATH': '/home/ramin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games', 'PATH_INFO': u'/admin/blogengine/entry/7792/', 'PWD': '/home/ramin/devel/lifeofjalo', 'PYTHONPATH': ':/home/ramin/devel/python', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'GET', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'shaftoe.home.fierymill.net', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.5.2', 'SESSION_MANAGER': 'local/shaftoe:/tmp/.ICE-unix/11924', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': '/tmp/keyring-aOeKUS/ssh', 'TERM': 'xterm', 'TZ': 'Europe/Helsinki', 'USER': 'ramin', 'USERNAME': 'ramin', 'WINDOWID': '31457663', 'WINDOWPATH': '7:7', 'XAUTHORITY': '/tmp/.gdm5V5MGU', 'XDG_DATA_DIRS': '/usr/local/share/:/usr/share/:/usr/share/gdm/', 'XDG_SESSION_COOKIE': '2da2e590671719852a41670046d7eae7-1220280461.811025-1645281592', '_': '/usr/bin/python', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0xb7d150b0>, 'wsgi.file_wrapper': <class 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': <socket._fileobject object at 0x87ac1b4>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}> |
| 175 | | self |
| 176 | | <lifeofjalo.blogengine.admin.EntryAdmin object at 0x86b94ac> |
| 177 | | url |
| 178 | | u'7792' |
| 179 | | * /usr/lib/python2.5/site-packages/django/db/transaction.py in _commit_on_success |
| 180 | | 231. control in web apps. |
| 181 | | 232. """ |
| 182 | | 233. def _commit_on_success(*args, **kw): |
| 183 | | 234. try: |
| 184 | | 235. enter_transaction_management() |
| 185 | | 236. managed(True) |
| 186 | | 237. try: |
| 187 | | 238. res = func(*args, **kw) ... |
| 188 | | 239. except: |
| 189 | | 240. # All exceptions must be handled here (even string ones). |
| 190 | | 241. if is_dirty(): |
| 191 | | 242. rollback() |
| 192 | | 243. raise |
| 193 | | 244. else: |
| 194 | | ▶ Local vars |
| 195 | | Variable Value |
| 196 | | args |
| 197 | | (<lifeofjalo.blogengine.admin.EntryAdmin object at 0x86b94ac>, <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{'loj': '813779e21550f0ec85afab540dcaaead'}, META:{'COLORTERM': 'gnome-terminal', 'CONTENT_LENGTH': '', 'CONTENT_TYPE': 'text/plain', 'DBUS_SESSION_BUS_ADDRESS': 'unix:abstract=/tmp/dbus-JScisqaUty,guid=a44545a8bb30caddf309679148bc008f', 'DESKTOP_SESSION': 'default', 'DISPLAY': ':0.0', 'DJANGO_SETTINGS_MODULE': 'lifeofjalo.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'GDMSESSION': 'default', 'GDM_LANG': 'en_US.UTF-8', 'GDM_XSERVER_LOCATION': 'local', 'GNOME_DESKTOP_SESSION_ID': 'Default', 'GNOME_KEYRING_PID': '11923', 'GNOME_KEYRING_SOCKET': '/tmp/keyring-aOeKUS/socket', 'GPG_AGENT_INFO': '/tmp/seahorse-ZM5CqE/S.gpg-agent:12030:1', 'GTK_RC_FILES': '/etc/gtk/gtkrc:/home/ramin/.gtkrc-1.2-gnome2', 'HISTCONTROL': 'ignoreboth', 'HOME': '/home/ramin', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'loj=813779e21550f0ec85afab540dcaaead', 'HTTP_HOST': 'localhost:8000', 'HTTP_KEEP_ALIVE': '300', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1', 'LANG': 'en_US.UTF-8', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'LIBGL_DRIVERS_PATH': '/usr/lib/dri', 'LOGNAME': 'ramin', 'LS_COLORS': 'no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:', 'PATH': '/home/ramin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games', 'PATH_INFO': u'/admin/blogengine/entry/7792/', 'PWD': '/home/ramin/devel/lifeofjalo', 'PYTHONPATH': ':/home/ramin/devel/python', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'GET', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'shaftoe.home.fierymill.net', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.5.2', 'SESSION_MANAGER': 'local/shaftoe:/tmp/.ICE-unix/11924', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': '/tmp/keyring-aOeKUS/ssh', 'TERM': 'xterm', 'TZ': 'Europe/Helsinki', 'USER': 'ramin', 'USERNAME': 'ramin', 'WINDOWID': '31457663', 'WINDOWPATH': '7:7', 'XAUTHORITY': '/tmp/.gdm5V5MGU', 'XDG_DATA_DIRS': '/usr/local/share/:/usr/share/:/usr/share/gdm/', 'XDG_SESSION_COOKIE': '2da2e590671719852a41670046d7eae7-1220280461.811025-1645281592', '_': '/usr/bin/python', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0xb7d150b0>, 'wsgi.file_wrapper': <class 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': <socket._fileobject object at 0x87ac1b4>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>, u'7792') |
| 198 | | func |
| 199 | | <function change_view at 0x84ae924> |
| 200 | | kw |
| 201 | | {} |
| 202 | | * /usr/lib/python2.5/site-packages/django/contrib/admin/options.py in change_view |
| 203 | | 613. 'media': mark_safe(media), |
| 204 | | 614. 'inline_admin_formsets': inline_admin_formsets, |
| 205 | | 615. 'errors': helpers.AdminErrorList(form, formsets), |
| 206 | | 616. 'root_path': self.admin_site.root_path, |
| 207 | | 617. 'app_label': app_label, |
| 208 | | 618. } |
| 209 | | 619. context.update(extra_context or {}) |
| 210 | | 620. return self.render_change_form(request, context, change=True, obj=obj) ... |
| 211 | | 621. change_view = transaction.commit_on_success(change_view) |
| 212 | | 622. |
| 213 | | 623. def changelist_view(self, request, extra_context=None): |
| 214 | | 624. "The 'change list' admin view for this model." |
| 215 | | 625. from django.contrib.admin.views.main import ChangeList, ERROR_FLAG |
| 216 | | 626. opts = self.model._meta |
| 217 | | ▶ Local vars |
| 218 | | Variable Value |
| 219 | | FormSet |
| 220 | | <class 'django.forms.formsets.ImageFormFormSet'> |
| 221 | | ModelForm |
| 222 | | <class 'django.forms.models.EntryForm'> |
| 223 | | adminForm |
| 224 | | <django.contrib.admin.helpers.AdminForm object at 0x873e22c> |
| 225 | | app_label |
| 226 | | 'blogengine' |
| 227 | | context |
| 228 | | {'add': False, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'app_label': 'blogengine', 'change': True, 'content_type_id': 9L, 'errors': [], 'form_url': '', 'has_absolute_url': False, 'has_add_permission': True, 'has_change_permission': True, 'has_delete_permission': True, 'has_file_field': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'object_id': u'7792', 'opts': <Options for Entry>, 'ordered_objects': [], 'original': <Entry: 2008-08-09 00:00:00>, 'root_path': u'/admin/', 'save_as': False, 'save_on_top': False, 'title': u'Change entry'} |
| 229 | | extra_context |
| 230 | | None |
| 231 | | fieldsets |
| 232 | | [(None, {'fields': ['file', 'caption', 'captionFI']})] |
| 233 | | form |
| 234 | | <django.forms.models.EntryForm object at 0x873e5ec> |
| 235 | | formset |
| 236 | | <django.forms.formsets.ImageFormFormSet object at 0x8741d6c> |
| 237 | | formsets |
| 238 | | [<django.forms.formsets.ImageFormFormSet object at 0x8741d6c>] |
| 239 | | inline |
| 240 | | <lifeofjalo.blogengine.admin.ImageInline object at 0x86b948c> |
| 241 | | inline_admin_formset |
| 242 | | <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c> |
| 243 | | inline_admin_formsets |
| 244 | | [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>] |
| 245 | | media |
| 246 | | <django.forms.widgets.Media object at 0x87f8e4c> |
| 247 | | model |
| 248 | | <class 'lifeofjalo.blogengine.models.Entry'> |
| 249 | | obj |
| 250 | | <Entry: 2008-08-09 00:00:00> |
| 251 | | object_id |
| 252 | | u'7792' |
| 253 | | opts |
| 254 | | <Options for Entry> |
| 255 | | request |
| 256 | | <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{'loj': '813779e21550f0ec85afab540dcaaead'}, META:{'COLORTERM': 'gnome-terminal', 'CONTENT_LENGTH': '', 'CONTENT_TYPE': 'text/plain', 'DBUS_SESSION_BUS_ADDRESS': 'unix:abstract=/tmp/dbus-JScisqaUty,guid=a44545a8bb30caddf309679148bc008f', 'DESKTOP_SESSION': 'default', 'DISPLAY': ':0.0', 'DJANGO_SETTINGS_MODULE': 'lifeofjalo.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'GDMSESSION': 'default', 'GDM_LANG': 'en_US.UTF-8', 'GDM_XSERVER_LOCATION': 'local', 'GNOME_DESKTOP_SESSION_ID': 'Default', 'GNOME_KEYRING_PID': '11923', 'GNOME_KEYRING_SOCKET': '/tmp/keyring-aOeKUS/socket', 'GPG_AGENT_INFO': '/tmp/seahorse-ZM5CqE/S.gpg-agent:12030:1', 'GTK_RC_FILES': '/etc/gtk/gtkrc:/home/ramin/.gtkrc-1.2-gnome2', 'HISTCONTROL': 'ignoreboth', 'HOME': '/home/ramin', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'loj=813779e21550f0ec85afab540dcaaead', 'HTTP_HOST': 'localhost:8000', 'HTTP_KEEP_ALIVE': '300', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1', 'LANG': 'en_US.UTF-8', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'LIBGL_DRIVERS_PATH': '/usr/lib/dri', 'LOGNAME': 'ramin', 'LS_COLORS': 'no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:', 'PATH': '/home/ramin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games', 'PATH_INFO': u'/admin/blogengine/entry/7792/', 'PWD': '/home/ramin/devel/lifeofjalo', 'PYTHONPATH': ':/home/ramin/devel/python', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'GET', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'shaftoe.home.fierymill.net', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.5.2', 'SESSION_MANAGER': 'local/shaftoe:/tmp/.ICE-unix/11924', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': '/tmp/keyring-aOeKUS/ssh', 'TERM': 'xterm', 'TZ': 'Europe/Helsinki', 'USER': 'ramin', 'USERNAME': 'ramin', 'WINDOWID': '31457663', 'WINDOWPATH': '7:7', 'XAUTHORITY': '/tmp/.gdm5V5MGU', 'XDG_DATA_DIRS': '/usr/local/share/:/usr/share/:/usr/share/gdm/', 'XDG_SESSION_COOKIE': '2da2e590671719852a41670046d7eae7-1220280461.811025-1645281592', '_': '/usr/bin/python', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0xb7d150b0>, 'wsgi.file_wrapper': <class 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': <socket._fileobject object at 0x87ac1b4>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}> |
| 257 | | self |
| 258 | | <lifeofjalo.blogengine.admin.EntryAdmin object at 0x86b94ac> |
| 259 | | * /usr/lib/python2.5/site-packages/django/contrib/admin/options.py in render_change_form |
| 260 | | 395. 'save_on_top': self.save_on_top, |
| 261 | | 396. 'root_path': self.admin_site.root_path, |
| 262 | | 397. }) |
| 263 | | 398. return render_to_response(self.change_form_template or [ |
| 264 | | 399. "admin/%s/%s/change_form.html" % (app_label, opts.object_name.lower()), |
| 265 | | 400. "admin/%s/change_form.html" % app_label, |
| 266 | | 401. "admin/change_form.html" |
| 267 | | 402. ], context, context_instance=template.RequestContext(request)) ... |
| 268 | | 403. |
| 269 | | 404. def response_add(self, request, obj, post_url_continue='../%s/'): |
| 270 | | 405. """ |
| 271 | | 406. Determines the HttpResponse for the add_view stage. |
| 272 | | 407. """ |
| 273 | | 408. opts = obj._meta |
| 274 | | ▶ Local vars |
| 275 | | Variable Value |
| 276 | | add |
| 277 | | False |
| 278 | | app_label |
| 279 | | 'blogengine' |
| 280 | | change |
| 281 | | True |
| 282 | | context |
| 283 | | {'add': False, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'app_label': 'blogengine', 'change': True, 'content_type_id': 9L, 'errors': [], 'form_url': '', 'has_absolute_url': False, 'has_add_permission': True, 'has_change_permission': True, 'has_delete_permission': True, 'has_file_field': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'object_id': u'7792', 'opts': <Options for Entry>, 'ordered_objects': [], 'original': <Entry: 2008-08-09 00:00:00>, 'root_path': u'/admin/', 'save_as': False, 'save_on_top': False, 'title': u'Change entry'} |
| 284 | | form_url |
| 285 | | '' |
| 286 | | obj |
| 287 | | <Entry: 2008-08-09 00:00:00> |
| 288 | | opts |
| 289 | | <Options for Entry> |
| 290 | | ordered_objects |
| 291 | | [] |
| 292 | | request |
| 293 | | <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{'loj': '813779e21550f0ec85afab540dcaaead'}, META:{'COLORTERM': 'gnome-terminal', 'CONTENT_LENGTH': '', 'CONTENT_TYPE': 'text/plain', 'DBUS_SESSION_BUS_ADDRESS': 'unix:abstract=/tmp/dbus-JScisqaUty,guid=a44545a8bb30caddf309679148bc008f', 'DESKTOP_SESSION': 'default', 'DISPLAY': ':0.0', 'DJANGO_SETTINGS_MODULE': 'lifeofjalo.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'GDMSESSION': 'default', 'GDM_LANG': 'en_US.UTF-8', 'GDM_XSERVER_LOCATION': 'local', 'GNOME_DESKTOP_SESSION_ID': 'Default', 'GNOME_KEYRING_PID': '11923', 'GNOME_KEYRING_SOCKET': '/tmp/keyring-aOeKUS/socket', 'GPG_AGENT_INFO': '/tmp/seahorse-ZM5CqE/S.gpg-agent:12030:1', 'GTK_RC_FILES': '/etc/gtk/gtkrc:/home/ramin/.gtkrc-1.2-gnome2', 'HISTCONTROL': 'ignoreboth', 'HOME': '/home/ramin', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'loj=813779e21550f0ec85afab540dcaaead', 'HTTP_HOST': 'localhost:8000', 'HTTP_KEEP_ALIVE': '300', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1', 'LANG': 'en_US.UTF-8', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'LIBGL_DRIVERS_PATH': '/usr/lib/dri', 'LOGNAME': 'ramin', 'LS_COLORS': 'no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:', 'PATH': '/home/ramin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games', 'PATH_INFO': u'/admin/blogengine/entry/7792/', 'PWD': '/home/ramin/devel/lifeofjalo', 'PYTHONPATH': ':/home/ramin/devel/python', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'GET', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'shaftoe.home.fierymill.net', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.5.2', 'SESSION_MANAGER': 'local/shaftoe:/tmp/.ICE-unix/11924', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': '/tmp/keyring-aOeKUS/ssh', 'TERM': 'xterm', 'TZ': 'Europe/Helsinki', 'USER': 'ramin', 'USERNAME': 'ramin', 'WINDOWID': '31457663', 'WINDOWPATH': '7:7', 'XAUTHORITY': '/tmp/.gdm5V5MGU', 'XDG_DATA_DIRS': '/usr/local/share/:/usr/share/:/usr/share/gdm/', 'XDG_SESSION_COOKIE': '2da2e590671719852a41670046d7eae7-1220280461.811025-1645281592', '_': '/usr/bin/python', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0xb7d150b0>, 'wsgi.file_wrapper': <class 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': <socket._fileobject object at 0x87ac1b4>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}> |
| 294 | | self |
| 295 | | <lifeofjalo.blogengine.admin.EntryAdmin object at 0x86b94ac> |
| 296 | | * /usr/lib/python2.5/site-packages/django/shortcuts/__init__.py in render_to_response |
| 297 | | 11. |
| 298 | | 12. def render_to_response(*args, **kwargs): |
| 299 | | 13. """ |
| 300 | | 14. Returns a HttpResponse whose content is filled with the result of calling |
| 301 | | 15. django.template.loader.render_to_string() with the passed arguments. |
| 302 | | 16. """ |
| 303 | | 17. httpresponse_kwargs = {'mimetype': kwargs.pop('mimetype', None)} |
| 304 | | 18. return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs) ... |
| 305 | | 19. |
| 306 | | 20. def _get_queryset(klass): |
| 307 | | 21. """ |
| 308 | | 22. Returns a QuerySet from a Model, Manager, or QuerySet. Created to make |
| 309 | | 23. get_object_or_404 and get_list_or_404 more DRY. |
| 310 | | 24. """ |
| 311 | | ▶ Local vars |
| 312 | | Variable Value |
| 313 | | args |
| 314 | | (['admin/blogengine/entry/change_form.html', 'admin/blogengine/change_form.html', 'admin/change_form.html'], {'add': False, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'app_label': 'blogengine', 'change': True, 'content_type_id': 9L, 'errors': [], 'form_url': '', 'has_absolute_url': False, 'has_add_permission': True, 'has_change_permission': True, 'has_delete_permission': True, 'has_file_field': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'object_id': u'7792', 'opts': <Options for Entry>, 'ordered_objects': [], 'original': <Entry: 2008-08-09 00:00:00>, 'root_path': u'/admin/', 'save_as': False, 'save_on_top': False, 'title': u'Change entry'}) |
| 315 | | httpresponse_kwargs |
| 316 | | {'mimetype': None} |
| 317 | | kwargs |
| 318 | | {'context_instance': [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}]} |
| 319 | | * /usr/lib/python2.5/site-packages/django/template/loader.py in render_to_string |
| 320 | | 100. t = select_template(template_name) |
| 321 | | 101. else: |
| 322 | | 102. t = get_template(template_name) |
| 323 | | 103. if context_instance: |
| 324 | | 104. context_instance.update(dictionary) |
| 325 | | 105. else: |
| 326 | | 106. context_instance = Context(dictionary) |
| 327 | | 107. return t.render(context_instance) ... |
| 328 | | 108. |
| 329 | | 109. def select_template(template_name_list): |
| 330 | | 110. "Given a list of template names, returns the first that can be loaded." |
| 331 | | 111. for template_name in template_name_list: |
| 332 | | 112. try: |
| 333 | | 113. return get_template(template_name) |
| 334 | | ▶ Local vars |
| 335 | | Variable Value |
| 336 | | context_instance |
| 337 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 338 | | dictionary |
| 339 | | {'add': False, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'app_label': 'blogengine', 'change': True, 'content_type_id': 9L, 'errors': [], 'form_url': '', 'has_absolute_url': False, 'has_add_permission': True, 'has_change_permission': True, 'has_delete_permission': True, 'has_file_field': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'object_id': u'7792', 'opts': <Options for Entry>, 'ordered_objects': [], 'original': <Entry: 2008-08-09 00:00:00>, 'root_path': u'/admin/', 'save_as': False, 'save_on_top': False, 'title': u'Change entry'} |
| 340 | | t |
| 341 | | <django.template.Template object at 0x87f8eac> |
| 342 | | template_name |
| 343 | | ['admin/blogengine/entry/change_form.html', 'admin/blogengine/change_form.html', 'admin/change_form.html'] |
| 344 | | * /usr/lib/python2.5/site-packages/django/template/__init__.py in render |
| 345 | | 169. def __iter__(self): |
| 346 | | 170. for node in self.nodelist: |
| 347 | | 171. for subnode in node: |
| 348 | | 172. yield subnode |
| 349 | | 173. |
| 350 | | 174. def render(self, context): |
| 351 | | 175. "Display stage -- can be called many times" |
| 352 | | 176. return self.nodelist.render(context) ... |
| 353 | | 177. |
| 354 | | 178. def compile_string(template_string, origin): |
| 355 | | 179. "Compiles template_string into NodeList ready for rendering" |
| 356 | | 180. if settings.TEMPLATE_DEBUG: |
| 357 | | 181. from debug import DebugLexer, DebugParser |
| 358 | | 182. lexer_class, parser_class = DebugLexer, DebugParser |
| 359 | | ▶ Local vars |
| 360 | | Variable Value |
| 361 | | context |
| 362 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 363 | | self |
| 364 | | <django.template.Template object at 0x87f8eac> |
| 365 | | * /usr/lib/python2.5/site-packages/django/template/__init__.py in render |
| 366 | | 761. # extend_nodelist(). |
| 367 | | 762. contains_nontext = False |
| 368 | | 763. |
| 369 | | 764. def render(self, context): |
| 370 | | 765. bits = [] |
| 371 | | 766. for node in self: |
| 372 | | 767. if isinstance(node, Node): |
| 373 | | 768. bits.append(self.render_node(node, context)) ... |
| 374 | | 769. else: |
| 375 | | 770. bits.append(node) |
| 376 | | 771. return mark_safe(''.join([force_unicode(b) for b in bits])) |
| 377 | | 772. |
| 378 | | 773. def get_nodes_by_type(self, nodetype): |
| 379 | | 774. "Return a list of all nodes of the given type" |
| 380 | | ▶ Local vars |
| 381 | | Variable Value |
| 382 | | bits |
| 383 | | [] |
| 384 | | context |
| 385 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 386 | | node |
| 387 | | <ExtendsNode: extends "admin/base_site.html"> |
| 388 | | self |
| 389 | | [<ExtendsNode: extends "admin/base_site.html">] |
| 390 | | * /usr/lib/python2.5/site-packages/django/template/debug.py in render_node |
| 391 | | 64. def compile_function_error(self, token, e): |
| 392 | | 65. if not hasattr(e, 'source'): |
| 393 | | 66. e.source = token.source |
| 394 | | 67. |
| 395 | | 68. class DebugNodeList(NodeList): |
| 396 | | 69. def render_node(self, node, context): |
| 397 | | 70. try: |
| 398 | | 71. result = node.render(context) ... |
| 399 | | 72. except TemplateSyntaxError, e: |
| 400 | | 73. if not hasattr(e, 'source'): |
| 401 | | 74. e.source = node.source |
| 402 | | 75. raise |
| 403 | | 76. except Exception, e: |
| 404 | | 77. from sys import exc_info |
| 405 | | ▶ Local vars |
| 406 | | Variable Value |
| 407 | | context |
| 408 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 409 | | e |
| 410 | | TemplateSyntaxError(u'Caught an exception while rendering: coercing to Unicode: need string or buffer, ImageFieldFile found',) |
| 411 | | node |
| 412 | | <ExtendsNode: extends "admin/base_site.html"> |
| 413 | | self |
| 414 | | [<ExtendsNode: extends "admin/base_site.html">] |
| 415 | | * /usr/lib/python2.5/site-packages/django/template/loader_tags.py in render |
| 416 | | 90. # the first non-text node you can stop looking. |
| 417 | | 91. break |
| 418 | | 92. else: |
| 419 | | 93. # Keep any existing parents and add a new one. Used by BlockNode. |
| 420 | | 94. parent_block.parent = block_node.parent |
| 421 | | 95. parent_block.add_parent(parent_block.nodelist) |
| 422 | | 96. parent_block.nodelist = block_node.nodelist |
| 423 | | 97. return compiled_parent.render(context) ... |
| 424 | | 98. |
| 425 | | 99. class ConstantIncludeNode(Node): |
| 426 | | 100. def __init__(self, template_path): |
| 427 | | 101. try: |
| 428 | | 102. t = get_template(template_path) |
| 429 | | 103. self.template = t |
| 430 | | ▶ Local vars |
| 431 | | Variable Value |
| 432 | | block_node |
| 433 | | <Block Node: after_related_objects. Contents: []> |
| 434 | | compiled_parent |
| 435 | | <django.template.Template object at 0x87f8c8c> |
| 436 | | context |
| 437 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 438 | | n |
| 439 | | <Block Node: nav-global. Contents: []> |
| 440 | | node |
| 441 | | <ExtendsNode: extends "admin/base.html"> |
| 442 | | parent_blocks |
| 443 | | {u'branding': <Block Node: branding. Contents: [<Text Node: ' <h1 id="site-name">'>, <django.templatetags.i18n.TranslateNode object at 0x87afe0c>, <Text Node: '</h1> '>]>, u'nav-global': <Block Node: nav-global. Contents: []>, u'title': <Block Node: title. Contents: [<Variable Node: title|escape>, <Text Node: ' | '>, <django.templatetags.i18n.TranslateNode object at 0x87aff2c>]>} |
| 444 | | self |
| 445 | | <ExtendsNode: extends "admin/base_site.html"> |
| 446 | | * /usr/lib/python2.5/site-packages/django/template/__init__.py in render |
| 447 | | 169. def __iter__(self): |
| 448 | | 170. for node in self.nodelist: |
| 449 | | 171. for subnode in node: |
| 450 | | 172. yield subnode |
| 451 | | 173. |
| 452 | | 174. def render(self, context): |
| 453 | | 175. "Display stage -- can be called many times" |
| 454 | | 176. return self.nodelist.render(context) ... |
| 455 | | 177. |
| 456 | | 178. def compile_string(template_string, origin): |
| 457 | | 179. "Compiles template_string into NodeList ready for rendering" |
| 458 | | 180. if settings.TEMPLATE_DEBUG: |
| 459 | | 181. from debug import DebugLexer, DebugParser |
| 460 | | 182. lexer_class, parser_class = DebugLexer, DebugParser |
| 461 | | ▶ Local vars |
| 462 | | Variable Value |
| 463 | | context |
| 464 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 465 | | self |
| 466 | | <django.template.Template object at 0x87f8c8c> |
| 467 | | * /usr/lib/python2.5/site-packages/django/template/__init__.py in render |
| 468 | | 761. # extend_nodelist(). |
| 469 | | 762. contains_nontext = False |
| 470 | | 763. |
| 471 | | 764. def render(self, context): |
| 472 | | 765. bits = [] |
| 473 | | 766. for node in self: |
| 474 | | 767. if isinstance(node, Node): |
| 475 | | 768. bits.append(self.render_node(node, context)) ... |
| 476 | | 769. else: |
| 477 | | 770. bits.append(node) |
| 478 | | 771. return mark_safe(''.join([force_unicode(b) for b in bits])) |
| 479 | | 772. |
| 480 | | 773. def get_nodes_by_type(self, nodetype): |
| 481 | | 774. "Return a list of all nodes of the given type" |
| 482 | | ▶ Local vars |
| 483 | | Variable Value |
| 484 | | bits |
| 485 | | [] |
| 486 | | context |
| 487 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 488 | | node |
| 489 | | <ExtendsNode: extends "admin/base.html"> |
| 490 | | self |
| 491 | | [<ExtendsNode: extends "admin/base.html">] |
| 492 | | * /usr/lib/python2.5/site-packages/django/template/debug.py in render_node |
| 493 | | 64. def compile_function_error(self, token, e): |
| 494 | | 65. if not hasattr(e, 'source'): |
| 495 | | 66. e.source = token.source |
| 496 | | 67. |
| 497 | | 68. class DebugNodeList(NodeList): |
| 498 | | 69. def render_node(self, node, context): |
| 499 | | 70. try: |
| 500 | | 71. result = node.render(context) ... |
| 501 | | 72. except TemplateSyntaxError, e: |
| 502 | | 73. if not hasattr(e, 'source'): |
| 503 | | 74. e.source = node.source |
| 504 | | 75. raise |
| 505 | | 76. except Exception, e: |
| 506 | | 77. from sys import exc_info |
| 507 | | ▶ Local vars |
| 508 | | Variable Value |
| 509 | | context |
| 510 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 511 | | e |
| 512 | | TemplateSyntaxError(u'Caught an exception while rendering: coercing to Unicode: need string or buffer, ImageFieldFile found',) |
| 513 | | node |
| 514 | | <ExtendsNode: extends "admin/base.html"> |
| 515 | | self |
| 516 | | [<ExtendsNode: extends "admin/base.html">] |
| 517 | | * /usr/lib/python2.5/site-packages/django/template/loader_tags.py in render |
| 518 | | 90. # the first non-text node you can stop looking. |
| 519 | | 91. break |
| 520 | | 92. else: |
| 521 | | 93. # Keep any existing parents and add a new one. Used by BlockNode. |
| 522 | | 94. parent_block.parent = block_node.parent |
| 523 | | 95. parent_block.add_parent(parent_block.nodelist) |
| 524 | | 96. parent_block.nodelist = block_node.nodelist |
| 525 | | 97. return compiled_parent.render(context) ... |
| 526 | | 98. |
| 527 | | 99. class ConstantIncludeNode(Node): |
| 528 | | 100. def __init__(self, template_path): |
| 529 | | 101. try: |
| 530 | | 102. t = get_template(template_path) |
| 531 | | 103. self.template = t |
| 532 | | ▶ Local vars |
| 533 | | Variable Value |
| 534 | | block_node |
| 535 | | <Block Node: after_related_objects. Contents: []> |
| 536 | | compiled_parent |
| 537 | | <django.template.Template object at 0x874756c> |
| 538 | | context |
| 539 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 540 | | n |
| 541 | | <Block Node: footer. Contents: [<Text Node: '<div id="footer"></div>'>]> |
| 542 | | node |
| 543 | | <Variable Node: LANGUAGE_CODE> |
| 544 | | parent_block |
| 545 | | <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]> |
| 546 | | parent_blocks |
| 547 | | {u'blockbots': <Block Node: blockbots. Contents: [<Text Node: '<meta name="robots" conte'>]>, u'bodyclass': <Block Node: bodyclass. Contents: [<Variable Node: opts.app_label>, <Text Node: '-'>, <Variable Node: opts.object_name.lower>, <Text Node: ' change-form'>]>, u'branding': <Block Node: branding. Contents: [<Text Node: ' <h1 id="site-name">'>, <django.templatetags.i18n.TranslateNode object at 0x87afe0c>, <Text Node: '</h1> '>]>, u'breadcrumbs': <Block Node: breadcrumbs. Contents: [<If node>]>, u'coltype': <Block Node: coltype. Contents: [<If node>]>, u'content': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>, u'content_title': <Block Node: content_title. Contents: [<If node>]>, u'extrahead': <Block Node: extrahead. Contents: [<Variable Node: block.super>, <Text Node: ' <script type="text/javas'>, <Variable Node: media>, <Text Node: ' '>]>, u'extrastyle': <Block Node: extrastyle. Contents: []>, u'footer': <Block Node: footer. Contents: [<Text Node: '<div id="footer"></div>'>]>, u'nav-global': <Block Node: nav-global. Contents: []>, u'object-tools': <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, u'pretitle': <Block Node: pretitle. Contents: []>, u'sidebar': <Block Node: sidebar. Contents: []>, u'stylesheet': <Block Node: stylesheet. Contents: [<django.template.SimpleNode object at 0x879648c>, <Text Node: 'css/forms.css'>]>, u'stylesheet_rtl': <Block Node: stylesheet_rtl. Contents: [<django.template.SimpleNode object at 0x877ec6c>, <Text Node: 'css/rtl.css'>]>, u'title': <Block Node: title. Contents: [<Variable Node: title|escape>, <Text Node: ' | '>, <django.templatetags.i18n.TranslateNode object at 0x87aff2c>]>, u'userlinks': <Block Node: userlinks. Contents: [<django.template.defaulttags.URLNode object at 0x857668c>, <If node>, <Text Node: '<a href="'>, <Variable Node: root_path>, <Text Node: 'password_change/">'>, <django.templatetags.i18n.TranslateNode object at 0x87af58c>, <Text Node: '</a> / <a href="'>, <Variable Node: root_path>, <Text Node: 'logout/">'>, <django.templatetags.i18n.TranslateNode object at 0x877e22c>, <Text Node: '</a>'>]>} |
| 548 | | self |
| 549 | | <ExtendsNode: extends "admin/base.html"> |
| 550 | | * /usr/lib/python2.5/site-packages/django/template/__init__.py in render |
| 551 | | 169. def __iter__(self): |
| 552 | | 170. for node in self.nodelist: |
| 553 | | 171. for subnode in node: |
| 554 | | 172. yield subnode |
| 555 | | 173. |
| 556 | | 174. def render(self, context): |
| 557 | | 175. "Display stage -- can be called many times" |
| 558 | | 176. return self.nodelist.render(context) ... |
| 559 | | 177. |
| 560 | | 178. def compile_string(template_string, origin): |
| 561 | | 179. "Compiles template_string into NodeList ready for rendering" |
| 562 | | 180. if settings.TEMPLATE_DEBUG: |
| 563 | | 181. from debug import DebugLexer, DebugParser |
| 564 | | 182. lexer_class, parser_class = DebugLexer, DebugParser |
| 565 | | ▶ Local vars |
| 566 | | Variable Value |
| 567 | | context |
| 568 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 569 | | self |
| 570 | | <django.template.Template object at 0x874756c> |
| 571 | | * /usr/lib/python2.5/site-packages/django/template/__init__.py in render |
| 572 | | 761. # extend_nodelist(). |
| 573 | | 762. contains_nontext = False |
| 574 | | 763. |
| 575 | | 764. def render(self, context): |
| 576 | | 765. bits = [] |
| 577 | | 766. for node in self: |
| 578 | | 767. if isinstance(node, Node): |
| 579 | | 768. bits.append(self.render_node(node, context)) ... |
| 580 | | 769. else: |
| 581 | | 770. bits.append(node) |
| 582 | | 771. return mark_safe(''.join([force_unicode(b) for b in bits])) |
| 583 | | 772. |
| 584 | | 773. def get_nodes_by_type(self, nodetype): |
| 585 | | 774. "Return a list of all nodes of the given type" |
| 586 | | ▶ Local vars |
| 587 | | Variable Value |
| 588 | | bits |
| 589 | | [u'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n<html xmlns="http://www.w3.org/1999/xhtml" lang="', u'en', u'" xml:lang="', u'en', u'" ', '', u'>\n<head>\n<title>', u'Change entry | Life of Jalo admin', u'</title>\n<link rel="stylesheet" type="text/css" href="', u'/admin/static/css/forms.css', u'" />\n', '', u'\n', '', u'\n', u'\n<script type="text/javascript" src="../../../jsi18n/"></script>\n<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>\n', u'\n', u'<meta name="robots" content="NONE,NOARCHIVE" />', u'\n</head>\n', '', u'\n\n<body class="', '', u'blogengine-entry change-form', u'">\n\n<!-- Container -->\n<div id="container">\n\n ', u'\n <!-- Header -->\n <div id="header">\n <div id="branding">\n \n<h1 id="site-name">Life of Jalo administration</h1>\n\n </div>\n \n <div id="user-tools">Welcome, <strong>ramin</strong>. <a href="/admin/password_change/">Change password</a> / <a href="/admin/logout/">Log out</a></div>\n \n \n </div>\n <!-- END Header -->\n \n<div class="breadcrumbs">\n <a href="../../../">Home</a> ›\n <a href="../../">Blogengine</a> › \n <a href="../">Entrys</a> ›\n 2008-08-09 00:00:00\n</div>\n\n ', u'\n\n ', '', u'\n\n <!-- Content -->\n <div id="content" class="', u'colM', u'">\n ', '', u'\n ', u'<h1>Change entry</h1>', u'\n '] |
| 590 | | context |
| 591 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 592 | | node |
| 593 | | <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]> |
| 594 | | self |
| 595 | | [<Text Node: '<!DOCTYPE html PUBLIC "-/'>, <Variable Node: LANGUAGE_CODE>, <Text Node: '" xml:lang="'>, <Variable Node: LANGUAGE_CODE>, <Text Node: '" '>, <If node>, <Text Node: '> <head> <title>'>, <Block Node: title. Contents: [<Variable Node: title|escape>, <Text Node: ' | '>, <django.templatetags.i18n.TranslateNode object at 0x87aff2c>]>, <Text Node: '</title> <link rel="style'>, <Block Node: stylesheet. Contents: [<django.template.SimpleNode object at 0x879648c>, <Text Node: 'css/forms.css'>]>, <Text Node: '" /> '>, <If node>, <Text Node: ' '>, <Block Node: extrastyle. Contents: []>, <Text Node: ' '>, <Block Node: extrahead. Contents: [<Variable Node: block.super>, <Text Node: ' <script type="text/javas'>, <Variable Node: media>, <Text Node: ' '>]>, <Text Node: ' '>, <Block Node: blockbots. Contents: [<Text Node: '<meta name="robots" conte'>]>, <Text Node: ' </head> '>, <django.template.defaulttags.LoadNode object at 0x87aad4c>, <Text Node: ' <body class="'>, <If node>, <Block Node: bodyclass. Contents: [<Variable Node: opts.app_label>, <Text Node: '-'>, <Variable Node: opts.object_name.lower>, <Text Node: ' change-form'>]>, <Text Node: '"> <!-- Container --> <d'>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' <!-- Content --> '>, <Block Node: coltype. Contents: [<If node>]>, <Text Node: '"> '>, <Block Node: pretitle. Contents: []>, <Text Node: ' '>, <Block Node: content_title. Contents: [<If node>]>, <Text Node: ' '>, <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>, <Text Node: ' '>, <Block Node: sidebar. Contents: []>, <Text Node: ' <br class="clear'>, <Block Node: footer. Contents: [<Text Node: '<div id="footer"></div>'>]>, <Text Node: ' </div> <!-- END Containe'>] |
| 596 | | * /usr/lib/python2.5/site-packages/django/template/debug.py in render_node |
| 597 | | 64. def compile_function_error(self, token, e): |
| 598 | | 65. if not hasattr(e, 'source'): |
| 599 | | 66. e.source = token.source |
| 600 | | 67. |
| 601 | | 68. class DebugNodeList(NodeList): |
| 602 | | 69. def render_node(self, node, context): |
| 603 | | 70. try: |
| 604 | | 71. result = node.render(context) ... |
| 605 | | 72. except TemplateSyntaxError, e: |
| 606 | | 73. if not hasattr(e, 'source'): |
| 607 | | 74. e.source = node.source |
| 608 | | 75. raise |
| 609 | | 76. except Exception, e: |
| 610 | | 77. from sys import exc_info |
| 611 | | ▶ Local vars |
| 612 | | Variable Value |
| 613 | | context |
| 614 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 615 | | e |
| 616 | | TemplateSyntaxError(u'Caught an exception while rendering: coercing to Unicode: need string or buffer, ImageFieldFile found',) |
| 617 | | node |
| 618 | | <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]> |
| 619 | | self |
| 620 | | [<Text Node: '<!DOCTYPE html PUBLIC "-/'>, <Variable Node: LANGUAGE_CODE>, <Text Node: '" xml:lang="'>, <Variable Node: LANGUAGE_CODE>, <Text Node: '" '>, <If node>, <Text Node: '> <head> <title>'>, <Block Node: title. Contents: [<Variable Node: title|escape>, <Text Node: ' | '>, <django.templatetags.i18n.TranslateNode object at 0x87aff2c>]>, <Text Node: '</title> <link rel="style'>, <Block Node: stylesheet. Contents: [<django.template.SimpleNode object at 0x879648c>, <Text Node: 'css/forms.css'>]>, <Text Node: '" /> '>, <If node>, <Text Node: ' '>, <Block Node: extrastyle. Contents: []>, <Text Node: ' '>, <Block Node: extrahead. Contents: [<Variable Node: block.super>, <Text Node: ' <script type="text/javas'>, <Variable Node: media>, <Text Node: ' '>]>, <Text Node: ' '>, <Block Node: blockbots. Contents: [<Text Node: '<meta name="robots" conte'>]>, <Text Node: ' </head> '>, <django.template.defaulttags.LoadNode object at 0x87aad4c>, <Text Node: ' <body class="'>, <If node>, <Block Node: bodyclass. Contents: [<Variable Node: opts.app_label>, <Text Node: '-'>, <Variable Node: opts.object_name.lower>, <Text Node: ' change-form'>]>, <Text Node: '"> <!-- Container --> <d'>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' <!-- Content --> '>, <Block Node: coltype. Contents: [<If node>]>, <Text Node: '"> '>, <Block Node: pretitle. Contents: []>, <Text Node: ' '>, <Block Node: content_title. Contents: [<If node>]>, <Text Node: ' '>, <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>, <Text Node: ' '>, <Block Node: sidebar. Contents: []>, <Text Node: ' <br class="clear'>, <Block Node: footer. Contents: [<Text Node: '<div id="footer"></div>'>]>, <Text Node: ' </div> <!-- END Containe'>] |
| 621 | | * /usr/lib/python2.5/site-packages/django/template/loader_tags.py in render |
| 622 | | 17. return "<Block Node: %s. Contents: %r>" % (self.name, self.nodelist) |
| 623 | | 18. |
| 624 | | 19. def render(self, context): |
| 625 | | 20. context.push() |
| 626 | | 21. # Save context in case of block.super(). |
| 627 | | 22. self.context = context |
| 628 | | 23. context['block'] = self |
| 629 | | 24. result = self.nodelist.render(context) ... |
| 630 | | 25. context.pop() |
| 631 | | 26. return result |
| 632 | | 27. |
| 633 | | 28. def super(self): |
| 634 | | 29. if self.parent: |
| 635 | | 30. return mark_safe(self.parent.render(self.context)) |
| 636 | | ▶ Local vars |
| 637 | | Variable Value |
| 638 | | context |
| 639 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 640 | | self |
| 641 | | <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]> |
| 642 | | * /usr/lib/python2.5/site-packages/django/template/__init__.py in render |
| 643 | | 761. # extend_nodelist(). |
| 644 | | 762. contains_nontext = False |
| 645 | | 763. |
| 646 | | 764. def render(self, context): |
| 647 | | 765. bits = [] |
| 648 | | 766. for node in self: |
| 649 | | 767. if isinstance(node, Node): |
| 650 | | 768. bits.append(self.render_node(node, context)) ... |
| 651 | | 769. else: |
| 652 | | 770. bits.append(node) |
| 653 | | 771. return mark_safe(''.join([force_unicode(b) for b in bits])) |
| 654 | | 772. |
| 655 | | 773. def get_nodes_by_type(self, nodetype): |
| 656 | | 774. "Return a list of all nodes of the given type" |
| 657 | | ▶ Local vars |
| 658 | | Variable Value |
| 659 | | bits |
| 660 | | [u'<div id="content-main">\n', u'\n\n <ul class="object-tools"><li><a href="history/" class="historylink">History</a></li>\n \n </ul>\n\n', u'\n<form ', u'enctype="multipart/form-data" ', u'action="', u'', u'" method="post" id="', u'entry', u'_form">', '', u'\n<div>\n', '', u'\n', '', u'\n', '', u'\n\n', u'\n <fieldset class="module aligned ">\n \n \n \n <div class="form-row pub_date ">\n \n \n \n <label for="id_pub_date" class="required">Publication date:</label><input type="text" name="pub_date" value="2008-08-09 00:00:00" id="id_pub_date" />\n \n \n \n </div>\n \n <div class="form-row title ">\n \n \n \n <label for="id_title">Title:</label><input id="id_title" type="text" name="title" maxlength="200" />\n \n \n \n </div>\n \n <div class="form-row titleFI ">\n \n \n \n <label for="id_titleFI">Finnish title:</label><input id="id_titleFI" type="text" name="titleFI" maxlength="200" />\n \n \n \n </div>\n \n <div class="form-row isMemorial ">\n \n \n \n <input type="checkbox" name="isMemorial" id="id_isMemorial" /><label for="id_isMemorial" class="vCheckboxLabel">Use special layout?</label>\n \n \n \n </div>\n \n <div class="form-row tags ">\n \n \n \n <label for="id_tags">Tags:</label><input id="id_tags" type="text" name="tags" maxlength="200" />\n \n \n \n </div>\n \n</fieldset>\n\n', u'\n\n', '', u'\n\n'] |
| 661 | | context |
| 662 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 663 | | node |
| 664 | | <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3> |
| 665 | | self |
| 666 | | [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>] |
| 667 | | * /usr/lib/python2.5/site-packages/django/template/debug.py in render_node |
| 668 | | 64. def compile_function_error(self, token, e): |
| 669 | | 65. if not hasattr(e, 'source'): |
| 670 | | 66. e.source = token.source |
| 671 | | 67. |
| 672 | | 68. class DebugNodeList(NodeList): |
| 673 | | 69. def render_node(self, node, context): |
| 674 | | 70. try: |
| 675 | | 71. result = node.render(context) ... |
| 676 | | 72. except TemplateSyntaxError, e: |
| 677 | | 73. if not hasattr(e, 'source'): |
| 678 | | 74. e.source = node.source |
| 679 | | 75. raise |
| 680 | | 76. except Exception, e: |
| 681 | | 77. from sys import exc_info |
| 682 | | ▶ Local vars |
| 683 | | Variable Value |
| 684 | | context |
| 685 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 686 | | e |
| 687 | | TemplateSyntaxError(u'Caught an exception while rendering: coercing to Unicode: need string or buffer, ImageFieldFile found',) |
| 688 | | node |
| 689 | | <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3> |
| 690 | | self |
| 691 | | [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>] |
| 692 | | * /usr/lib/python2.5/site-packages/django/template/defaulttags.py in render |
| 693 | | 141. if unpack: |
| 694 | | 142. # If there are multiple loop variables, unpack the item into |
| 695 | | 143. # them. |
| 696 | | 144. context.update(dict(zip(self.loopvars, item))) |
| 697 | | 145. else: |
| 698 | | 146. context[self.loopvars[0]] = item |
| 699 | | 147. for node in self.nodelist_loop: |
| 700 | | 148. nodelist.append(node.render(context)) ... |
| 701 | | 149. if unpack: |
| 702 | | 150. # The loop variables were pushed on to the context so pop them |
| 703 | | 151. # off again. This is necessary because the tag lets the length |
| 704 | | 152. # of loopvars differ to the length of each set of items and we |
| 705 | | 153. # don't want to leave any vars from the previous loop on the |
| 706 | | 154. # context. |
| 707 | | ▶ Local vars |
| 708 | | Variable Value |
| 709 | | context |
| 710 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 711 | | i |
| 712 | | 0 |
| 713 | | item |
| 714 | | <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c> |
| 715 | | len_values |
| 716 | | 1 |
| 717 | | loop_dict |
| 718 | | {'counter': 1, 'counter0': 0, 'first': True, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0} |
| 719 | | node |
| 720 | | <django.template.loader_tags.IncludeNode object at 0x879e96c> |
| 721 | | nodelist |
| 722 | | [u'\n '] |
| 723 | | parentloop |
| 724 | | {} |
| 725 | | self |
| 726 | | <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3> |
| 727 | | unpack |
| 728 | | False |
| 729 | | values |
| 730 | | [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>] |
| 731 | | * /usr/lib/python2.5/site-packages/django/template/loader_tags.py in render |
| 732 | | 116. def __init__(self, template_name): |
| 733 | | 117. self.template_name = Variable(template_name) |
| 734 | | 118. |
| 735 | | 119. def render(self, context): |
| 736 | | 120. try: |
| 737 | | 121. template_name = self.template_name.resolve(context) |
| 738 | | 122. t = get_template(template_name) |
| 739 | | 123. return t.render(context) ... |
| 740 | | 124. except TemplateSyntaxError, e: |
| 741 | | 125. if settings.TEMPLATE_DEBUG: |
| 742 | | 126. raise |
| 743 | | 127. return '' |
| 744 | | 128. except: |
| 745 | | 129. return '' # Fail silently for invalid included templates. |
| 746 | | ▶ Local vars |
| 747 | | Variable Value |
| 748 | | context |
| 749 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 750 | | e |
| 751 | | TemplateSyntaxError(u'Caught an exception while rendering: coercing to Unicode: need string or buffer, ImageFieldFile found',) |
| 752 | | self |
| 753 | | <django.template.loader_tags.IncludeNode object at 0x879e96c> |
| 754 | | t |
| 755 | | <django.template.Template object at 0x888ae4c> |
| 756 | | template_name |
| 757 | | 'admin/edit_inline/tabular.html' |
| 758 | | * /usr/lib/python2.5/site-packages/django/template/__init__.py in render |
| 759 | | 169. def __iter__(self): |
| 760 | | 170. for node in self.nodelist: |
| 761 | | 171. for subnode in node: |
| 762 | | 172. yield subnode |
| 763 | | 173. |
| 764 | | 174. def render(self, context): |
| 765 | | 175. "Display stage -- can be called many times" |
| 766 | | 176. return self.nodelist.render(context) ... |
| 767 | | 177. |
| 768 | | 178. def compile_string(template_string, origin): |
| 769 | | 179. "Compiles template_string into NodeList ready for rendering" |
| 770 | | 180. if settings.TEMPLATE_DEBUG: |
| 771 | | 181. from debug import DebugLexer, DebugParser |
| 772 | | 182. lexer_class, parser_class = DebugLexer, DebugParser |
| 773 | | ▶ Local vars |
| 774 | | Variable Value |
| 775 | | context |
| 776 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 777 | | self |
| 778 | | <django.template.Template object at 0x888ae4c> |
| 779 | | * /usr/lib/python2.5/site-packages/django/template/__init__.py in render |
| 780 | | 761. # extend_nodelist(). |
| 781 | | 762. contains_nontext = False |
| 782 | | 763. |
| 783 | | 764. def render(self, context): |
| 784 | | 765. bits = [] |
| 785 | | 766. for node in self: |
| 786 | | 767. if isinstance(node, Node): |
| 787 | | 768. bits.append(self.render_node(node, context)) ... |
| 788 | | 769. else: |
| 789 | | 770. bits.append(node) |
| 790 | | 771. return mark_safe(''.join([force_unicode(b) for b in bits])) |
| 791 | | 772. |
| 792 | | 773. def get_nodes_by_type(self, nodetype): |
| 793 | | 774. "Return a list of all nodes of the given type" |
| 794 | | ▶ Local vars |
| 795 | | Variable Value |
| 796 | | bits |
| 797 | | ['', u'\n<div class="inline-group">\n <div class="tabular inline-related ', u'last-related', u'">\n', u'<input type="hidden" name="images-TOTAL_FORMS" value="2" id="id_images-TOTAL_FORMS" /><input type="hidden" name="images-INITIAL_FORMS" value="1" id="id_images-INITIAL_FORMS" />', u'\n<fieldset class="module">\n <h2>', u'Images', u'</h2>\n ', u'', u'\n <table>\n <thead><tr>\n ', u'\n \n <th colspan="2">None</th>\n \n \n \n <th >Default caption</th>\n \n \n \n <th >Caption in Finnish</th>\n \n ', u'\n ', u'<th>Delete?</th>', u'\n </tr></thead>\n \n '] |
| 798 | | context |
| 799 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 800 | | node |
| 801 | | <For Node: for inline_admin_form in inline_admin_formset, tail_len: 15> |
| 802 | | self |
| 803 | | [<django.template.defaulttags.LoadNode object at 0x87b24ec>, <Text Node: ' <div class="inline-group'>, <If node>, <Text Node: '"> '>, <Variable Node: inline_admin_formset.formset.management_form>, <Text Node: ' <fieldset class="module"'>, <Variable Node: inline_admin_formset.opts.verbose_name_plural|capfirst|escape>, <Text Node: '</h2> '>, <Variable Node: inline_admin_formset.formset.non_form_errors>, <Text Node: ' <table> <thead><'>, <For Node: for field in inline_admin_formset.fields, tail_len: 3>, <Text Node: ' '>, <If node>, <Text Node: ' </tr></thead> '>, <For Node: for inline_admin_form in inline_admin_formset, tail_len: 15>, <Text Node: ' </table> </fi'>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' </div> '>] |
| 804 | | * /usr/lib/python2.5/site-packages/django/template/debug.py in render_node |
| 805 | | 64. def compile_function_error(self, token, e): |
| 806 | | 65. if not hasattr(e, 'source'): |
| 807 | | 66. e.source = token.source |
| 808 | | 67. |
| 809 | | 68. class DebugNodeList(NodeList): |
| 810 | | 69. def render_node(self, node, context): |
| 811 | | 70. try: |
| 812 | | 71. result = node.render(context) ... |
| 813 | | 72. except TemplateSyntaxError, e: |
| 814 | | 73. if not hasattr(e, 'source'): |
| 815 | | 74. e.source = node.source |
| 816 | | 75. raise |
| 817 | | 76. except Exception, e: |
| 818 | | 77. from sys import exc_info |
| 819 | | ▶ Local vars |
| 820 | | Variable Value |
| 821 | | context |
| 822 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 823 | | e |
| 824 | | TemplateSyntaxError(u'Caught an exception while rendering: coercing to Unicode: need string or buffer, ImageFieldFile found',) |
| 825 | | node |
| 826 | | <For Node: for inline_admin_form in inline_admin_formset, tail_len: 15> |
| 827 | | self |
| 828 | | [<django.template.defaulttags.LoadNode object at 0x87b24ec>, <Text Node: ' <div class="inline-group'>, <If node>, <Text Node: '"> '>, <Variable Node: inline_admin_formset.formset.management_form>, <Text Node: ' <fieldset class="module"'>, <Variable Node: inline_admin_formset.opts.verbose_name_plural|capfirst|escape>, <Text Node: '</h2> '>, <Variable Node: inline_admin_formset.formset.non_form_errors>, <Text Node: ' <table> <thead><'>, <For Node: for field in inline_admin_formset.fields, tail_len: 3>, <Text Node: ' '>, <If node>, <Text Node: ' </tr></thead> '>, <For Node: for inline_admin_form in inline_admin_formset, tail_len: 15>, <Text Node: ' </table> </fi'>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' </div> '>] |
| 829 | | * /usr/lib/python2.5/site-packages/django/template/defaulttags.py in render |
| 830 | | 141. if unpack: |
| 831 | | 142. # If there are multiple loop variables, unpack the item into |
| 832 | | 143. # them. |
| 833 | | 144. context.update(dict(zip(self.loopvars, item))) |
| 834 | | 145. else: |
| 835 | | 146. context[self.loopvars[0]] = item |
| 836 | | 147. for node in self.nodelist_loop: |
| 837 | | 148. nodelist.append(node.render(context)) ... |
| 838 | | 149. if unpack: |
| 839 | | 150. # The loop variables were pushed on to the context so pop them |
| 840 | | 151. # off again. This is necessary because the tag lets the length |
| 841 | | 152. # of loopvars differ to the length of each set of items and we |
| 842 | | 153. # don't want to leave any vars from the previous loop on the |
| 843 | | 154. # context. |
| 844 | | ▶ Local vars |
| 845 | | Variable Value |
| 846 | | context |
| 847 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 848 | | i |
| 849 | | 0 |
| 850 | | item |
| 851 | | <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c> |
| 852 | | len_values |
| 853 | | 2 |
| 854 | | loop_dict |
| 855 | | {'counter': 1, 'counter0': 0, 'first': True, 'last': False, 'parentloop': {'counter': 1, 'counter0': 0, 'first': True, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'revcounter': 2, 'revcounter0': 1} |
| 856 | | node |
| 857 | | <If node> |
| 858 | | nodelist |
| 859 | | [u'\n \n <tr class="', u'row1', u' ', u'has_original', u'">\n\n <td class="original">\n '] |
| 860 | | parentloop |
| 861 | | {'counter': 1, 'counter0': 0, 'first': True, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0} |
| 862 | | self |
| 863 | | <For Node: for inline_admin_form in inline_admin_formset, tail_len: 15> |
| 864 | | unpack |
| 865 | | False |
| 866 | | values |
| 867 | | [<django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>, <django.contrib.admin.helpers.InlineAdminForm object at 0x88a436c>] |
| 868 | | * /usr/lib/python2.5/site-packages/django/template/defaulttags.py in render |
| 869 | | 238. if self.link_type == IfNode.LinkTypes.or_: |
| 870 | | 239. for ifnot, bool_expr in self.bool_exprs: |
| 871 | | 240. try: |
| 872 | | 241. value = bool_expr.resolve(context, True) |
| 873 | | 242. except VariableDoesNotExist: |
| 874 | | 243. value = None |
| 875 | | 244. if (value and not ifnot) or (ifnot and not value): |
| 876 | | 245. return self.nodelist_true.render(context) ... |
| 877 | | 246. return self.nodelist_false.render(context) |
| 878 | | 247. else: |
| 879 | | 248. for ifnot, bool_expr in self.bool_exprs: |
| 880 | | 249. try: |
| 881 | | 250. value = bool_expr.resolve(context, True) |
| 882 | | 251. except VariableDoesNotExist: |
| 883 | | ▶ Local vars |
| 884 | | Variable Value |
| 885 | | bool_expr |
| 886 | | <django.template.FilterExpression object at 0x888f36c> |
| 887 | | context |
| 888 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 889 | | ifnot |
| 890 | | False |
| 891 | | self |
| 892 | | <If node> |
| 893 | | value |
| 894 | | Error in formatting: coercing to Unicode: need string or buffer, ImageFieldFile found |
| 895 | | * /usr/lib/python2.5/site-packages/django/template/__init__.py in render |
| 896 | | 761. # extend_nodelist(). |
| 897 | | 762. contains_nontext = False |
| 898 | | 763. |
| 899 | | 764. def render(self, context): |
| 900 | | 765. bits = [] |
| 901 | | 766. for node in self: |
| 902 | | 767. if isinstance(node, Node): |
| 903 | | 768. bits.append(self.render_node(node, context)) ... |
| 904 | | 769. else: |
| 905 | | 770. bits.append(node) |
| 906 | | 771. return mark_safe(''.join([force_unicode(b) for b in bits])) |
| 907 | | 772. |
| 908 | | 773. def get_nodes_by_type(self, nodetype): |
| 909 | | 774. "Return a list of all nodes of the given type" |
| 910 | | ▶ Local vars |
| 911 | | Variable Value |
| 912 | | bits |
| 913 | | [u'<p>\n '] |
| 914 | | context |
| 915 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 916 | | node |
| 917 | | <If node> |
| 918 | | self |
| 919 | | [<Text Node: '<p> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' </p>'>] |
| 920 | | * /usr/lib/python2.5/site-packages/django/template/debug.py in render_node |
| 921 | | 64. def compile_function_error(self, token, e): |
| 922 | | 65. if not hasattr(e, 'source'): |
| 923 | | 66. e.source = token.source |
| 924 | | 67. |
| 925 | | 68. class DebugNodeList(NodeList): |
| 926 | | 69. def render_node(self, node, context): |
| 927 | | 70. try: |
| 928 | | 71. result = node.render(context) ... |
| 929 | | 72. except TemplateSyntaxError, e: |
| 930 | | 73. if not hasattr(e, 'source'): |
| 931 | | 74. e.source = node.source |
| 932 | | 75. raise |
| 933 | | 76. except Exception, e: |
| 934 | | 77. from sys import exc_info |
| 935 | | ▶ Local vars |
| 936 | | Variable Value |
| 937 | | context |
| 938 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 939 | | e |
| 940 | | TemplateSyntaxError(u'Caught an exception while rendering: coercing to Unicode: need string or buffer, ImageFieldFile found',) |
| 941 | | node |
| 942 | | <If node> |
| 943 | | self |
| 944 | | [<Text Node: '<p> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' </p>'>] |
| 945 | | * /usr/lib/python2.5/site-packages/django/template/defaulttags.py in render |
| 946 | | 238. if self.link_type == IfNode.LinkTypes.or_: |
| 947 | | 239. for ifnot, bool_expr in self.bool_exprs: |
| 948 | | 240. try: |
| 949 | | 241. value = bool_expr.resolve(context, True) |
| 950 | | 242. except VariableDoesNotExist: |
| 951 | | 243. value = None |
| 952 | | 244. if (value and not ifnot) or (ifnot and not value): |
| 953 | | 245. return self.nodelist_true.render(context) ... |
| 954 | | 246. return self.nodelist_false.render(context) |
| 955 | | 247. else: |
| 956 | | 248. for ifnot, bool_expr in self.bool_exprs: |
| 957 | | 249. try: |
| 958 | | 250. value = bool_expr.resolve(context, True) |
| 959 | | 251. except VariableDoesNotExist: |
| 960 | | ▶ Local vars |
| 961 | | Variable Value |
| 962 | | bool_expr |
| 963 | | <django.template.FilterExpression object at 0x87b2bec> |
| 964 | | context |
| 965 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 966 | | ifnot |
| 967 | | False |
| 968 | | self |
| 969 | | <If node> |
| 970 | | value |
| 971 | | Error in formatting: coercing to Unicode: need string or buffer, ImageFieldFile found |
| 972 | | * /usr/lib/python2.5/site-packages/django/template/__init__.py in render |
| 973 | | 761. # extend_nodelist(). |
| 974 | | 762. contains_nontext = False |
| 975 | | 763. |
| 976 | | 764. def render(self, context): |
| 977 | | 765. bits = [] |
| 978 | | 766. for node in self: |
| 979 | | 767. if isinstance(node, Node): |
| 980 | | 768. bits.append(self.render_node(node, context)) ... |
| 981 | | 769. else: |
| 982 | | 770. bits.append(node) |
| 983 | | 771. return mark_safe(''.join([force_unicode(b) for b in bits])) |
| 984 | | 772. |
| 985 | | 773. def get_nodes_by_type(self, nodetype): |
| 986 | | 774. "Return a list of all nodes of the given type" |
| 987 | | ▶ Local vars |
| 988 | | Variable Value |
| 989 | | bits |
| 990 | | [u' '] |
| 991 | | context |
| 992 | | [{'forloop': {'revcounter0': 1, 'last': False, 'counter': 1, 'parentloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, 'revcounter': 2, 'counter0': 0, 'first': True}, u'inline_admin_form': <django.contrib.admin.helpers.InlineAdminForm object at 0x88a438c>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'inline_admin_formset': <django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>}, {'block': <Block Node: content. Contents: [<Text Node: '<div id="content-main"> '>, <Block Node: object-tools. Contents: [<Text Node: ' '>, <If node>, <Text Node: ' '>]>, <Text Node: ' <form '>, <If node>, <Text Node: 'action="'>, <Variable Node: form_url>, <Text Node: '" method="post" id="'>, <Variable Node: opts.module_name>, <Text Node: '_form">'>, <Block Node: form_top. Contents: []>, <Text Node: ' <div> '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <For Node: for fieldset in adminform, tail_len: 3>, <Text Node: ' '>, <Block Node: after_field_sets. Contents: []>, <Text Node: ' '>, <For Node: for inline_admin_formset in inline_admin_formsets, tail_len: 3>, <Text Node: ' '>, <Block Node: after_related_objects. Contents: []>, <Text Node: ' '>, <django.template.InclusionNode object at 0x8747aec>, <Text Node: ' '>, <If node>, <Text Node: ' '>, <Text Node: ' '>, <django.template.InclusionNode object at 0x87474ec>, <Text Node: ' </div> </form></div> '>]>}, {'has_delete_permission': True, 'has_change_permission': True, 'has_add_permission': True, 'inline_admin_formsets': [<django.contrib.admin.helpers.InlineAdminFormSet object at 0x87f8d0c>], 'is_popup': False, 'change': True, 'content_type_id': 9L, 'save_as': False, 'save_on_top': False, 'errors': [], 'has_file_field': True, 'adminform': <django.contrib.admin.helpers.AdminForm object at 0x873e22c>, 'title': u'Change entry', 'media': '<script type="text/javascript" src="/admin/static/js/core.js"></script>\n<script type="text/javascript" src="/admin/static/js/admin/RelatedObjectLookups.js"></script>', 'root_path': u'/admin/', 'object_id': u'7792', 'add': False, 'opts': <Options for Entry>, 'app_label': 'blogengine', 'form_url': '', 'original': <Entry: 2008-08-09 00:00:00>, 'has_absolute_url': False, 'ordered_objects': []}, {'MEDIA_URL': 'http://localhost/tests/lifeofjalo/images/'}, {'LANGUAGES': (('fi', 'Finnish'), ('en', 'English')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': u'en'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x87f8d6c>, 'messages': [], 'user': <User: ramin>}, {}] |
| 993 | | node |
| 994 | | <Variable Node: inline_admin_form.original> |
| 995 | | self |
| 996 | | [<Text Node: ' '>, <Variable Node: inline_admin_form.original>] |
| 997 | | * /usr/lib/python2.5/site-packages/django/template/debug.py in render_node |
| 998 | | 74. e.source = node.source |
| 999 | | 75. raise |
| 1000 | | 76. except Exception, e: |
| 1001 | | 77. from sys import exc_info |
| 1002 | | 78. wrapped = TemplateSyntaxError(u'Caught an exception while rendering: %s' % force_unicode(e, errors='replace')) |
| 1003 | | 79. wrapped.source = node.source |
| 1004 | | 80. wrapped.exc_info = exc_info() |
| 1005 | | 81. raise wrapped ... |
| 1006 | | 82. return result |
| 1007 | | 83. |
| 1008 | | 84. class DebugVariableNode(VariableNode): |
| 1009 | | 85. def render(self, context): |
| 1010 | | 86. try: |
| 1011 | | 87. output = force_unicode(self.filter_expression.resolve(context)) |
| 1012 | | ▶ Local vars |
| | 3 | ''[original html traceback removed -JKM]'' |