| <type 'exceptions.AttributeError'> | Python 2.7.18: /opt/python2.7.18/bin/python Mon Aug 17 17:52:14 2026 |
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/python2.7.18/lib/python2.7/site-packages/flup/server/fcgi_base.py in run(self=<flup.server.fcgi_base.Request object>) |
| 556 """Runs the handler, flushes the streams, and ends the request.""" |
| 557 try: |
| => 558 protocolStatus, appStatus = self.server.handler(self) |
| 559 except: |
| 560 traceback.print_exc(file=self.stderr) |
| protocolStatus undefined, appStatus undefined, self = <flup.server.fcgi_base.Request object>, self.server = <flup.server.fcgi_fork.WSGIServer object>, self.server.handler = <bound method WSGIServer.handler of <flup.server.fcgi_fork.WSGIServer object>> |
| /opt/python2.7.18/lib/python2.7/site-packages/flup/server/fcgi_base.py in handler(self=<flup.server.fcgi_fork.WSGIServer object>, req=<flup.server.fcgi_base.Request object>) |
| 1116 try: |
| 1117 try: |
| => 1118 result = self.application(environ, start_response) |
| 1119 try: |
| 1120 for data in result: |
| result = None, self = <flup.server.fcgi_fork.WSGIServer object>, self.application = <django.core.handlers.wsgi.WSGIHandler object>, environ = {'CONTENT_LENGTH': '0', 'DOCUMENT_ROOT': '/var/www/virtual/sumno.com/htdocs/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate', 'HTTP_CACHE_CONTROL': 'max-age=259200', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_HOST': 'severyn.sumno.com', 'HTTP_USER_AGENT': 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Geck...patible; ClaudeBot/1.0; +claudebot@anthropic.com)', 'HTTP_VIA': '1.1 squid-proxy-5b96dc6d46-ns878 (squid/6.13)', ...}, start_response = <function start_response> |
| /var/www/virtual/sumno.com/modules/django/core/handlers/wsgi.py in __call__(self=<django.core.handlers.wsgi.WSGIHandler object>, environ={'CONTENT_LENGTH': '0', 'DOCUMENT_ROOT': '/var/www/virtual/sumno.com/htdocs/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate', 'HTTP_CACHE_CONTROL': 'max-age=259200', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_HOST': 'severyn.sumno.com', 'HTTP_USER_AGENT': 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Geck...patible; ClaudeBot/1.0; +claudebot@anthropic.com)', 'HTTP_VIA': '1.1 squid-proxy-5b96dc6d46-ns878 (squid/6.13)', ...}, start_response=<function start_response>) |
| 239 response = http.HttpResponseBadRequest() |
| 240 else: |
| => 241 response = self.get_response(request) |
| 242 |
| 243 # Apply response middleware |
| response undefined, self = <django.core.handlers.wsgi.WSGIHandler object>, self.get_response = <bound method WSGIHandler.get_response of <django.core.handlers.wsgi.WSGIHandler object>>, request = <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDic...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}> |
| /var/www/virtual/sumno.com/modules/django/core/handlers/base.py in get_response(self=<django.core.handlers.wsgi.WSGIHandler object>, request=<WSGIRequest GET:<QueryDict: {}>, POST:<QueryDic...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}>) |
| 71 # Apply request middleware |
| 72 for middleware_method in self._request_middleware: |
| => 73 response = middleware_method(request) |
| 74 if response: |
| 75 return response |
| response = None, middleware_method = <bound method UserSubdomainURLsMiddleware.proces...middleware.UserSubdomainURLsMiddleware instance>>, request = <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDic...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}> |
| /var/www/virtual/sumno.com/htdocs/sumnocom/apps/personal_site/middleware.py in process_request(self=<apps.personal_site.middleware.UserSubdomainURLsMiddleware instance>, request=<WSGIRequest GET:<QueryDict: {}>, POST:<QueryDic...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}>) |
| 36 user = User.objects.get(username=subdomain) |
| 37 except User.DoesNotExist: |
| => 38 return page_not_found(request) |
| 39 |
| 40 request.domain_user = user |
| global page_not_found = <function page_not_found>, request = <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDic...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}> |
| /var/www/virtual/sumno.com/modules/django/views/defaults.py in page_not_found(request=<WSGIRequest GET:<QueryDict: {}>, POST:<QueryDic...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}>, template_name='404.html') |
| 12 """ |
| 13 t = loader.get_template(template_name) # You need to create a 404.html template. |
| => 14 return http.HttpResponseNotFound(t.render(RequestContext(request, {'request_path': request.path}))) |
| 15 |
| 16 def server_error(request, template_name='500.html'): |
| global http = <module 'django.http' from '/var/www/virtual/sumno.com/modules/django/http/__init__.pyc'>, http.HttpResponseNotFound = <class 'django.http.HttpResponseNotFound'>, t = <django.template.Template object>, t.render = <bound method Template.render of <django.template.Template object>>, global RequestContext = <class 'django.template.context.RequestContext'>, request = <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDic...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}>, request.path = u'/gallery/synevyr-na-bereznevi-velomandrivka-1/11233/' |
| /var/www/virtual/sumno.com/modules/django/template/__init__.py in render(self=<django.template.Template object>, context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 176 def render(self, context): |
| 177 "Display stage -- can be called many times" |
| => 178 return self.nodelist.render(context) |
| 179 |
| 180 def compile_string(template_string, origin): |
| self = <django.template.Template object>, self.nodelist = [<ExtendsNode: extends "base.html">], self.nodelist.render = <bound method NodeList.render of [<ExtendsNode: extends "base.html">]>, context = [{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}] |
| /var/www/virtual/sumno.com/modules/django/template/__init__.py in render(self=[<ExtendsNode: extends "base.html">], context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 777 for node in self: |
| 778 if isinstance(node, Node): |
| => 779 bits.append(self.render_node(node, context)) |
| 780 else: |
| 781 bits.append(node) |
| bits = [], bits.append = <built-in method append of list object>, self = [<ExtendsNode: extends "base.html">], self.render_node = <bound method NodeList.render_node of [<ExtendsNode: extends "base.html">]>, node = <ExtendsNode: extends "base.html">, context = [{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}] |
| /var/www/virtual/sumno.com/modules/django/template/__init__.py in render_node(self=[<ExtendsNode: extends "base.html">], node=<ExtendsNode: extends "base.html">, context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 790 |
| 791 def render_node(self, node, context): |
| => 792 return node.render(context) |
| 793 |
| 794 class TextNode(Node): |
| node = <ExtendsNode: extends "base.html">, node.render = <bound method ExtendsNode.render of <ExtendsNode: extends "base.html">>, context = [{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}] |
| /var/www/virtual/sumno.com/modules/django/template/loader_tags.py in render(self=<ExtendsNode: extends "base.html">, context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 95 parent_block.add_parent(parent_block.nodelist) |
| 96 parent_block.nodelist = block_node.nodelist |
| => 97 return compiled_parent.render(context) |
| 98 |
| 99 class ConstantIncludeNode(Node): |
| compiled_parent = <django.template.Template object>, compiled_parent.render = <bound method Template.render of <django.template.Template object>>, context = [{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}] |
| /var/www/virtual/sumno.com/modules/django/template/__init__.py in render(self=<django.template.Template object>, context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 176 def render(self, context): |
| 177 "Display stage -- can be called many times" |
| => 178 return self.nodelist.render(context) |
| 179 |
| 180 def compile_string(template_string, origin): |
| self = <django.template.Template object>, self.nodelist = [<django.template.defaulttags.LoadNode object at...Node object at 0x7f4e3b3a8310>, <Text Node: ' '>], self.nodelist.render = <bound method NodeList.render of [<django.templa...ode object at 0x7f4e3b3a8310>, <Text Node: ' '>]>, context = [{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}] |
| /var/www/virtual/sumno.com/modules/django/template/__init__.py in render(self=[<django.template.defaulttags.LoadNode object at...Node object at 0x7f4e3b3a8310>, <Text Node: ' '>], context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 777 for node in self: |
| 778 if isinstance(node, Node): |
| => 779 bits.append(self.render_node(node, context)) |
| 780 else: |
| 781 bits.append(node) |
| bits = ['', u'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Str...\u0440\u0456\u0432" href="//sumno.com/feeds/comments/" /></head>', u'\n\n<body>\n'], bits.append = <built-in method append of list object>, self = [<django.template.defaulttags.LoadNode object at...Node object at 0x7f4e3b3a8310>, <Text Node: ' '>], self.render_node = <bound method NodeList.render_node of [<django.t...ode object at 0x7f4e3b3a8310>, <Text Node: ' '>]>, node = <Block Node: htmlbody. Contents: [<Text Node: ' ...ode object at 0x7f4e3b3a3e50>, <Text Node: ' '>]>, context = [{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}] |
| /var/www/virtual/sumno.com/modules/django/template/__init__.py in render_node(self=[<django.template.defaulttags.LoadNode object at...Node object at 0x7f4e3b3a8310>, <Text Node: ' '>], node=<Block Node: htmlbody. Contents: [<Text Node: ' ...ode object at 0x7f4e3b3a3e50>, <Text Node: ' '>]>, context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 790 |
| 791 def render_node(self, node, context): |
| => 792 return node.render(context) |
| 793 |
| 794 class TextNode(Node): |
| node = <Block Node: htmlbody. Contents: [<Text Node: ' ...ode object at 0x7f4e3b3a3e50>, <Text Node: ' '>]>, node.render = <bound method BlockNode.render of <Block Node: h...de object at 0x7f4e3b3a3e50>, <Text Node: ' '>]>>, context = [{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}] |
| /var/www/virtual/sumno.com/modules/django/template/loader_tags.py in render(self=<Block Node: htmlbody. Contents: [<Text Node: ' ...ode object at 0x7f4e3b3a3e50>, <Text Node: ' '>]>, context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 22 self.context = context |
| 23 context['block'] = self |
| => 24 result = self.nodelist.render(context) |
| 25 context.pop() |
| 26 return result |
| result undefined, self = <Block Node: htmlbody. Contents: [<Text Node: ' ...ode object at 0x7f4e3b3a3e50>, <Text Node: ' '>]>, self.nodelist = [<Text Node: ' <div id="page"> '>, <django.temp...Node object at 0x7f4e3b3a3e50>, <Text Node: ' '>], self.nodelist.render = <bound method NodeList.render of [<Text Node: ' ...ode object at 0x7f4e3b3a3e50>, <Text Node: ' '>]>, context = [{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}] |
| /var/www/virtual/sumno.com/modules/django/template/__init__.py in render(self=[<Text Node: ' <div id="page"> '>, <django.temp...Node object at 0x7f4e3b3a3e50>, <Text Node: ' '>], context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 777 for node in self: |
| 778 if isinstance(node, Node): |
| => 779 bits.append(self.render_node(node, context)) |
| 780 else: |
| 781 bits.append(node) |
| bits = [u'\n<div id="page">\n\t'], bits.append = <built-in method append of list object>, self = [<Text Node: ' <div id="page"> '>, <django.temp...Node object at 0x7f4e3b3a3e50>, <Text Node: ' '>], self.render_node = <bound method NodeList.render_node of [<Text Nod...ode object at 0x7f4e3b3a3e50>, <Text Node: ' '>]>, node = <django.templatetags.smartspaceless.SmartSpacelessNode object>, context = [{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}] |
| /var/www/virtual/sumno.com/modules/django/template/__init__.py in render_node(self=[<Text Node: ' <div id="page"> '>, <django.temp...Node object at 0x7f4e3b3a3e50>, <Text Node: ' '>], node=<django.templatetags.smartspaceless.SmartSpacelessNode object>, context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 790 |
| 791 def render_node(self, node, context): |
| => 792 return node.render(context) |
| 793 |
| 794 class TextNode(Node): |
| node = <django.templatetags.smartspaceless.SmartSpacelessNode object>, node.render = <bound method SmartSpacelessNode.render of <djan...tetags.smartspaceless.SmartSpacelessNode object>>, context = [{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}] |
| /var/www/virtual/sumno.com/htdocs/sumnocom/apps/lib/templatetags/smartspaceless.py in render(self=<django.templatetags.smartspaceless.SmartSpacelessNode object>, context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 15 |
| 16 def render(self, context): |
| => 17 s = self.nodelist.render(context).strip() |
| 18 inline_tags = 'a|b|i|u|em|strong|sup|sub|tt|font|small|big' |
| 19 inlines_with_spaces = r'</(%s)>\s+<(%s)\b' % (inline_tags, inline_tags) |
| s undefined, self = <django.templatetags.smartspaceless.SmartSpacelessNode object>, self.nodelist = [<Text Node: ' '>, <Text Node: ' <div id="heade... '>]>, <Text Node: ' </div> <div class="'>], self.nodelist.render = <bound method NodeList.render of [<Text Node: ' ... '>]>, <Text Node: ' </div> <div class="'>]>, context = [{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}], ).strip undefined |
| /var/www/virtual/sumno.com/modules/django/template/__init__.py in render(self=[<Text Node: ' '>, <Text Node: ' <div id="heade... '>]>, <Text Node: ' </div> <div class="'>], context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 777 for node in self: |
| 778 if isinstance(node, Node): |
| => 779 bits.append(self.render_node(node, context)) |
| 780 else: |
| 781 bits.append(node) |
| bits = [u'\n', u'\n\t<div id="header">\n\t\t', u'', u'\n\t\t'], bits.append = <built-in method append of list object>, self = [<Text Node: ' '>, <Text Node: ' <div id="heade... '>]>, <Text Node: ' </div> <div class="'>], self.render_node = <bound method NodeList.render_node of [<Text Nod... '>]>, <Text Node: ' </div> <div class="'>]>, node = <Block Node: header. Contents: [<Text Node: ' ... '>]>, <Text Node: ' </div> <div '>]>, context = [{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}] |
| /var/www/virtual/sumno.com/modules/django/template/__init__.py in render_node(self=[<Text Node: ' '>, <Text Node: ' <div id="heade... '>]>, <Text Node: ' </div> <div class="'>], node=<Block Node: header. Contents: [<Text Node: ' ... '>]>, <Text Node: ' </div> <div '>]>, context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 790 |
| 791 def render_node(self, node, context): |
| => 792 return node.render(context) |
| 793 |
| 794 class TextNode(Node): |
| node = <Block Node: header. Contents: [<Text Node: ' ... '>]>, <Text Node: ' </div> <div '>]>, node.render = <bound method BlockNode.render of <Block Node: h...'>]>, <Text Node: ' </div> <div '>]>>, context = [{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}] |
| /var/www/virtual/sumno.com/modules/django/template/loader_tags.py in render(self=<Block Node: header. Contents: [<Text Node: ' ... '>]>, <Text Node: ' </div> <div '>]>, context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 22 self.context = context |
| 23 context['block'] = self |
| => 24 result = self.nodelist.render(context) |
| 25 context.pop() |
| 26 return result |
| result undefined, self = <Block Node: header. Contents: [<Text Node: ' ... '>]>, <Text Node: ' </div> <div '>]>, self.nodelist = [<Text Node: ' '>, <Block Node: header_logo. ... '>]>, <Text Node: ' </div> <div '>], self.nodelist.render = <bound method NodeList.render of [<Text Node: ' ... '>]>, <Text Node: ' </div> <div '>]>, context = [{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}] |
| /var/www/virtual/sumno.com/modules/django/template/__init__.py in render(self=[<Text Node: ' '>, <Block Node: header_logo. ... '>]>, <Text Node: ' </div> <div '>], context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 777 for node in self: |
| 778 if isinstance(node, Node): |
| => 779 bits.append(self.render_node(node, context)) |
| 780 else: |
| 781 bits.append(node) |
| bits = [u'\n\t\t\t', u'\n\t\t\t<div class="left">\n\t\t\t\t<a href="/...043b\u044c\u0442\u0443\u0440\u0443</div>\n\t\t\t', u'\n \t<div class="header">\n\t\t\t<ul class="optionMenu">\n\t\t\t\t<li><a class="rss" href="', u'//sumno.com/feeds/main-site/', u'">RSS</a></li>\n\t\t\t\t<li><a href="//', u'sumno.com', u'/faq/">FAQ</a></li>\n\t\t\t\t<li><a href="//', u'sumno.com', u'/about/">\u043f\u0440\u043e \u043d\u0430\u0441</a></li>\n\t\t\t\t<li><a href="//', u'sumno.com', u'/wishlist/">\u043f\u043e\u0431\u0430\u0436\u0430\u043d\u043d\u044f</a></li>\n\t\t\t\t<!--li><a href="//', u'sumno.com', u'/advert/">\u0440\u0435\u043a\u043b\u0430\u043c\u0430</a></li-->\n\t\t\t\t<li><a href="//', u'sumno.com', u'/contacts/">\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0438</a></li>\n\t\t\t</ul>\n\t \t', u'<div class="usrMenu usrMenuLogin"><a href="//s...u0430\u0446\u0456\u044e</a></strong></p></div>\n', u'\n \t\t<div class="globalMenu">\n\t\t\t\t'], bits.append = <built-in method append of list object>, self = [<Text Node: ' '>, <Block Node: header_logo. ... '>]>, <Text Node: ' </div> <div '>], self.render_node = <bound method NodeList.render_node of [<Text Nod... '>]>, <Text Node: ' </div> <div '>]>, node = <Block Node: main_menu_top. Contents: [<Text Nod...object at 0x7f4e3b3a3290>, <Text Node: ' '>]>, context = [{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}] |
| /var/www/virtual/sumno.com/modules/django/template/__init__.py in render_node(self=[<Text Node: ' '>, <Block Node: header_logo. ... '>]>, <Text Node: ' </div> <div '>], node=<Block Node: main_menu_top. Contents: [<Text Nod...object at 0x7f4e3b3a3290>, <Text Node: ' '>]>, context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 790 |
| 791 def render_node(self, node, context): |
| => 792 return node.render(context) |
| 793 |
| 794 class TextNode(Node): |
| node = <Block Node: main_menu_top. Contents: [<Text Nod...object at 0x7f4e3b3a3290>, <Text Node: ' '>]>, node.render = <bound method BlockNode.render of <Block Node: m...bject at 0x7f4e3b3a3290>, <Text Node: ' '>]>>, context = [{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}] |
| /var/www/virtual/sumno.com/modules/django/template/loader_tags.py in render(self=<Block Node: main_menu_top. Contents: [<Text Nod...object at 0x7f4e3b3a3290>, <Text Node: ' '>]>, context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 22 self.context = context |
| 23 context['block'] = self |
| => 24 result = self.nodelist.render(context) |
| 25 context.pop() |
| 26 return result |
| result undefined, self = <Block Node: main_menu_top. Contents: [<Text Nod...object at 0x7f4e3b3a3290>, <Text Node: ' '>]>, self.nodelist = [<Text Node: ' '>, <Text Node: ' '>, <... object at 0x7f4e3b3a3290>, <Text Node: ' '>], self.nodelist.render = <bound method NodeList.render of [<Text Node: ' ...object at 0x7f4e3b3a3290>, <Text Node: ' '>]>, context = [{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}] |
| /var/www/virtual/sumno.com/modules/django/template/__init__.py in render(self=[<Text Node: ' '>, <Text Node: ' '>, <... object at 0x7f4e3b3a3290>, <Text Node: ' '>], context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 777 for node in self: |
| 778 if isinstance(node, Node): |
| => 779 bits.append(self.render_node(node, context)) |
| 780 else: |
| 781 bits.append(node) |
| bits = [u'\n\t\t\t\t\t', u'\n\t\t\t\t\t'], bits.append = <built-in method append of list object>, self = [<Text Node: ' '>, <Text Node: ' '>, <... object at 0x7f4e3b3a3290>, <Text Node: ' '>], self.render_node = <bound method NodeList.render_node of [<Text Nod...object at 0x7f4e3b3a3290>, <Text Node: ' '>]>, node = <django.template.InclusionNode object>, context = [{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}] |
| /var/www/virtual/sumno.com/modules/django/template/__init__.py in render_node(self=[<Text Node: ' '>, <Text Node: ' '>, <... object at 0x7f4e3b3a3290>, <Text Node: ' '>], node=<django.template.InclusionNode object>, context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 790 |
| 791 def render_node(self, node, context): |
| => 792 return node.render(context) |
| 793 |
| 794 class TextNode(Node): |
| node = <django.template.InclusionNode object>, node.render = <bound method InclusionNode.render of <django.template.InclusionNode object>>, context = [{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}] |
| /var/www/virtual/sumno.com/modules/django/template/__init__.py in render(self=<django.template.InclusionNode object>, context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}]) |
| 934 args = resolved_vars |
| 935 |
| => 936 dict = func(*args) |
| 937 |
| 938 if not getattr(self, 'nodelist', False): |
| builtin dict = <type 'dict'>, func = <function show_menu>, args = [[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}], u'main_menu'] |
| /var/www/virtual/sumno.com/htdocs/sumnocom/apps/site_menu/templatetags/site_menu_tags.py in show_menu(context=[{'block': <Block Node: main_menu_top. Contents:...ry/synevyr-na-bereznevi-velomandrivka-1/11233/'}], parent_menu_item_title=u'main_menu', extra_class=None) |
| 23 @register.inclusion_tag('site_menu/menu.html', takes_context=True) |
| 24 def show_menu(context, parent_menu_item_title, extra_class=None): |
| => 25 items, menu_items = get_menu_by_parent(parent_menu_item_title) |
| 26 if not menu_items: |
| 27 return {} |
| items undefined, menu_items undefined, global get_menu_by_parent = <function get_menu_by_parent>, parent_menu_item_title = u'main_menu' |
| /var/www/virtual/sumno.com/htdocs/sumnocom/apps/site_menu/templatetags/site_menu_tags.py in get_menu_by_parent(parent_menu_item_title=u'main_menu') |
| 6 |
| 7 def get_menu_by_parent(parent_menu_item_title): |
| => 8 menuitems = MenuItem.published.get_all() |
| 9 items = {} |
| 10 root = None |
| menuitems undefined, global MenuItem = <class 'apps.site_menu.models.MenuItem'>, MenuItem.published = <apps.site_menu.models.PublishedMenuItemsManager object>, MenuItem.published.get_all = <bound method PublishedMenuItemsManager.get_all ...te_menu.models.PublishedMenuItemsManager object>> |
| /var/www/virtual/sumno.com/htdocs/sumnocom/apps/site_menu/models.py in get_all(self=<apps.site_menu.models.PublishedMenuItemsManager object>) |
| 19 result = list(self.get_query_set().select_related('category')) |
| 20 for item in result: |
| => 21 item.get_recent_publications_num() |
| 22 cache.set(ALL_MENU_ITEMS_CACHE_KEY, result, ALL_MENU_ITEMS_CACHE_TIMEOUT) |
| 23 return result |
| item = <MenuItem: музика>, item.get_recent_publications_num = <bound method MenuItem.get_recent_publications_num of <MenuItem: музика>> |
| /var/www/virtual/sumno.com/htdocs/sumnocom/apps/site_menu/models.py in get_recent_publications_num(self=<MenuItem: музика>) |
| 67 def get_recent_publications_num(self): |
| 68 if self.category: |
| => 69 num = self.get_recent_publications().count() |
| 70 #num = GenericContent.objects\ |
| 71 # .get_intersection(self.category.inclusive_tags)\ |
| num undefined, self = <MenuItem: музика>, self.get_recent_publications = <bound method MenuItem.get_recent_publications of <MenuItem: музика>>, ).count undefined |
| /var/www/virtual/sumno.com/htdocs/sumnocom/apps/site_menu/models.py in get_recent_publications(self=<MenuItem: музика>) |
| 59 if self.category: |
| 60 return GenericContent.objects\ |
| => 61 .get_intersection(self.category.inclusive_tags)\ |
| => 62 .filter(publication_date__gte=datetime.now() - timedelta(7), |
| => 63 moderation_status__in=[GenericContent.MS_MAINPAGE, GenericContent.MS_MAINSITE]) |
| self = <MenuItem: музика>, self.category = <TaggedCategory: музика>, self.category.inclusive_tags = u'\u043c\u0443\u0437\u0438\u043a\u0430', ).filter undefined, publication_date__gte undefined, global datetime = <type 'datetime.datetime'>, datetime.now = <built-in method now of type object>, global timedelta = <type 'datetime.timedelta'>, moderation_status__in undefined, global GenericContent = <class 'apps.generic_content.models.GenericContent'>, GenericContent.MS_MAINPAGE = 3, GenericContent.MS_MAINSITE = 2 |
| /var/www/virtual/sumno.com/htdocs/sumnocom/apps/generic_content/managers.py in get_intersection(self=<apps.generic_content.managers.GenericContentManager object>, tags=u'\u043c\u0443\u0437\u0438\u043a\u0430', username=None) |
| 59 |
| 60 def get_intersection(self, tags, username=None): |
| => 61 return TaggedItem.objects.get_intersection_by_model(self.by_username(username), tags) |
| 62 |
| 63 def for_object(self, obj): |
| global TaggedItem = <class 'apps.tagging.models.TaggedItem'>, TaggedItem.objects = <apps.tagging.models.TaggedItemManager object>, TaggedItem.objects.get_intersection_by_model = <bound method TaggedItemManager.get_intersection...f <apps.tagging.models.TaggedItemManager object>>, self = <apps.generic_content.managers.GenericContentManager object>, self.by_username = <bound method GenericContentManager.by_username ...c_content.managers.GenericContentManager object>>, username = None, tags = u'\u043c\u0443\u0437\u0438\u043a\u0430' |
| /var/www/virtual/sumno.com/htdocs/sumnocom/apps/tagging/models.py in get_intersection_by_model(self=<apps.tagging.models.TaggedItemManager object>, queryset_or_model=[<GenericContent: ЖИТТЯ КОРОТКИЙ С...24 с. >, '...(remaining elements truncated)...'], tags=u'\u043c\u0443\u0437\u0438\u043a\u0430') |
| 619 """ |
| 620 queryset, model = get_queryset_and_model(queryset_or_model) |
| => 621 object_ids = self.get_intersection_by_model_object_ids(queryset, model, tags) |
| 622 if len(object_ids) > 0: |
| 623 return queryset.filter(pk__in=object_ids) |
| object_ids undefined, self = <apps.tagging.models.TaggedItemManager object>, self.get_intersection_by_model_object_ids = <bound method TaggedItemManager.get_intersection...f <apps.tagging.models.TaggedItemManager object>>, queryset = [<GenericContent: ЖИТТЯ КОРОТКИЙ С...24 с. >, '...(remaining elements truncated)...'], model = <class 'apps.generic_content.models.GenericContent'>, tags = u'\u043c\u0443\u0437\u0438\u043a\u0430' |
| /var/www/virtual/sumno.com/htdocs/sumnocom/apps/tagging/models.py in get_intersection_by_model_object_ids(self=<apps.tagging.models.TaggedItemManager object>, queryset=[<GenericContent: ЖИТТЯ КОРОТКИЙ С...24 с. >, '...(remaining elements truncated)...'], model=<class 'apps.generic_content.models.GenericContent'>, tags=[False]) |
| 609 |
| 610 cursor = connection.cursor() |
| => 611 cursor.execute(query, [tag.pk for tag in tags]) |
| 612 object_ids = [row[0] for row in cursor.fetchall()] |
| 613 return object_ids |
| cursor = <django.db.backends.mysql.base.CursorWrapper object>, cursor.execute = <bound method CursorWrapper.execute of <django.db.backends.mysql.base.CursorWrapper object>>, query = '\n SELECT `generic_content_genericcontent`... COUNT(`generic_content_genericcontent`.`id`) = 1', tag = False, tag.pk undefined, tags = [False] |
<type 'exceptions.AttributeError'>: 'bool' object has no attribute 'pk'
args =
("'bool' object has no attribute 'pk'",)
message =
"'bool' object has no attribute 'pk'"