| TemplateSyntaxError | Python 2.3.4: /usr/bin/python2.3 Thu Nov 20 15:56:34 2008 |
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
| /opt/local/toolkit/python/flup/server/scgi_base.py in run(self=<flup.server.scgi_base.Request object>) |
| 190 self.logger.exception('Exception caught from handler') |
| 191 if not self.stdout.dataWritten: |
| 192 self._conn.server.error(self) |
| 193 |
| 194 end = datetime.datetime.now() |
| self = <flup.server.scgi_base.Request object>, self._conn = <flup.server.scgi_base.Connection object>, self._conn.server = <flup.server.scgi_fork.WSGIServer object>, self._conn.server.error = <bound method WSGIServer.error of <flup.server.scgi_fork.WSGIServer object>> |
| /opt/local/toolkit/python/flup/server/scgi_base.py in handler(self=<flup.server.scgi_fork.WSGIServer object>, request=<flup.server.scgi_base.Request object>) |
| 478 finally: |
| 479 if not self.multithreaded: |
| 480 self._appLock.release() |
| 481 |
| 482 def _sanitizeEnv(self, environ): |
| self = <flup.server.scgi_fork.WSGIServer object>, self._appLock = <thread.lock object>, self._appLock.release = <built-in method release of thread.lock object> |
| /opt/local/appserv_bundle/django/core/handlers/wsgi.py in __call__(self=<django.core.handlers.wsgi.WSGIHandler instance>, environ={'CONTENT_LENGTH': '0', 'DOCUMENT_ROOT': '/internet/www/', 'HTTP_ACCEPT': 'Accept: application/xhtml+xml,text/html;q=0.9,text/plain;', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'www.marconews.com', 'HTTP_PRAGMA': 'no-cache', ...}, start_response=<function start_response>) |
| 154 response = self.get_response(request.path, request) |
| 155 finally: |
| 156 db.db.close() |
| 157 |
| 158 # Apply response middleware |
| db = <module 'django.core.db' from '/opt/local/appserv_bundle/django/core/db/__init__.pyc'>, db.db = <django.core.db.backends.postgresql.DatabaseWrapper instance>, db.db.close = <bound method DatabaseWrapper.close of <django.c...db.backends.postgresql.DatabaseWrapper instance>> |
| /opt/local/appserv_bundle/django/core/handlers/base.py in get_response(self=<django.core.handlers.wsgi.WSGIHandler instance>, path='/news/2008/jan/13/you-review-food/', request=<DjangoRequest GET:{}, POST:{}, COOKIES:{}, META...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}>) |
| 131 return self.get_technical_error_response(request) |
| 132 else: |
| 133 return self.get_friendly_error_response(request, resolver) |
| 134 except: # Handle everything else, including SuspiciousOperation, etc. |
| 135 # Dump the error before something else goes wrong |
| self = <django.core.handlers.wsgi.WSGIHandler instance>, self.get_friendly_error_response = <bound method WSGIHandler.get_friendly_error_res...<django.core.handlers.wsgi.WSGIHandler instance>>, request = <DjangoRequest GET:{}, POST:{}, COOKIES:{}, META...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}>, resolver = <django.core.urlresolvers.RegexURLResolver object> |
| /opt/local/appserv_bundle/django/core/handlers/base.py in get_friendly_error_response(self=<django.core.handlers.wsgi.WSGIHandler instance>, request=<DjangoRequest GET:{}, POST:{}, COOKIES:{}, META...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}>, resolver=<django.core.urlresolvers.RegexURLResolver object>) |
| 166 except: |
| 167 from django.views.defaults import server_error |
| 168 return server_error(request) |
| 169 |
| 170 def get_technical_error_response(self, request, is404=False, exception=None): |
| server_error = <function server_error>, request = <DjangoRequest GET:{}, POST:{}, COOKIES:{}, META...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}> |
| /opt/local/appserv_bundle/django/views/defaults.py in server_error(request=<DjangoRequest GET:{}, POST:{}, COOKIES:{}, META...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}>) |
| 65 Templates: `500` |
| 66 Context: None |
| 67 """ |
| 68 t = loader.get_template('500') |
| 69 return httpwrappers.HttpResponseServerError(t.render(Context())) |
| t undefined, global loader = <module 'django.core.template.loader' from '/opt.../appserv_bundle/django/core/template/loader.pyc'>, loader.get_template = <function get_template> |
| /opt/local/appserv_bundle/django/core/template/loader.py in get_template(template_name='500') |
| 56 handling template inheritance recursively. |
| 57 """ |
| 58 return get_template_from_string(load_template_source(template_name)) |
| 59 |
| 60 def get_template_from_string(source): |
| global get_template_from_string = <function get_template_from_string>, global load_template_source = <function load_template_source>, template_name = '500' |
| /opt/local/appserv_bundle/django/core/template/loader.py in get_template_from_string(source='{% extends "base_interior" %}\n\n{% block css %}\n{.../div>\n\n{% endblock %}div>\n\n</div>\n\n{% endblock %}') |
| 63 handling template inheritance recursively. |
| 64 """ |
| 65 return Template(source) |
| 66 |
| 67 def render_to_string(template_name, dictionary=None, context_instance=None): |
| global Template = <class django.core.template.Template>, source = '{% extends "base_interior" %}\n\n{% block css %}\n{.../div>\n\n{% endblock %}div>\n\n</div>\n\n{% endblock %}' |
| /opt/local/appserv_bundle/django/core/template/__init__.py in __init__(self=<django.core.template.Template instance>, template_string='{% extends "base_interior" %}\n\n{% block css %}\n{.../div>\n\n{% endblock %}div>\n\n</div>\n\n{% endblock %}') |
| 105 def __init__(self, template_string): |
| 106 "Compilation stage" |
| 107 self.nodelist = compile_string(template_string) |
| 108 |
| 109 def __iter__(self): |
| self = <django.core.template.Template instance>, self.nodelist undefined, global compile_string = <function compile_string>, template_string = '{% extends "base_interior" %}\n\n{% block css %}\n{.../div>\n\n{% endblock %}div>\n\n</div>\n\n{% endblock %}' |
| /opt/local/appserv_bundle/django/core/template/__init__.py in compile_string(template_string='{% extends "base_interior" %}\n\n{% block css %}\n{.../div>\n\n{% endblock %}div>\n\n</div>\n\n{% endblock %}') |
| 120 tokens = tokenize(template_string) |
| 121 parser = Parser(tokens) |
| 122 return parser.parse() |
| 123 |
| 124 class Context: |
| parser = <django.core.template.Parser instance>, parser.parse = <bound method Parser.parse of <django.core.template.Parser instance>> |
| /opt/local/appserv_bundle/django/core/template/__init__.py in parse(self=<django.core.template.Parser instance>, parse_until=[]) |
| 258 nodelist.append(registered_tags[command](self, token)) |
| 259 except KeyError: |
| 260 raise TemplateSyntaxError, "Invalid block tag: '%s'" % command |
| 261 if parse_until: |
| 262 raise TemplateSyntaxError, "Unclosed tag(s): '%s'" % ', '.join(parse_until) |
| global TemplateSyntaxError = <class django.core.template.TemplateSyntaxError>, command = 'extends' |
| /opt/local/appserv_bundle/django/core/template/loader.py in do_extends(parser=<django.core.template.Parser instance>, token=<django.core.template.Token instance>) |
| 201 else: |
| 202 parent_name_var = bits[1] |
| 203 nodelist = parser.parse() |
| 204 if nodelist.get_nodes_by_type(ExtendsNode): |
| 205 raise TemplateSyntaxError, "'%s' cannot appear more than once in the same template" % bits[0] |
| nodelist undefined, parser = <django.core.template.Parser instance>, parser.parse = <bound method Parser.parse of <django.core.template.Parser instance>> |
| /opt/local/appserv_bundle/django/core/template/__init__.py in parse(self=<django.core.template.Parser instance>, parse_until=[]) |
| 258 nodelist.append(registered_tags[command](self, token)) |
| 259 except KeyError: |
| 260 raise TemplateSyntaxError, "Invalid block tag: '%s'" % command |
| 261 if parse_until: |
| 262 raise TemplateSyntaxError, "Unclosed tag(s): '%s'" % ', '.join(parse_until) |
| global TemplateSyntaxError = <class django.core.template.TemplateSyntaxError>, command = 'endblock' |
TemplateSyntaxError: Invalid block tag: 'endblock'
args =
("Invalid block tag: 'endblock'",)