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]'' |