'str' object has no attribute 'name'
Request Method: | GET |
---|---|
Request URL: | http://top100.te.ua/nomination/ |
Django Version: | 1.7.4 |
Exception Type: | AttributeError |
Exception Value: | 'str' object has no attribute 'name' |
Exception Location: | /home/top100/.virtualenvs/top100/lib/python2.7/site-packages/sorl/thumbnail/base.py in file_extension, line 46 |
Python Executable: | /home/top100/.virtualenvs/top100/bin/python |
Python Version: | 2.7.18 |
Python Path: | ['/home/top100/top100', '/home/top100', '/home/top100/top100', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/home/top100/.virtualenvs/top100/lib/python2.7/site-packages'] |
Server time: | Вт, 19 Бер 2024 15:49:11 +0200 |
In template /home/top100/top100/templates/pages/nomination.html
, error at line 16
6 | |
---|---|
7 | |
8 | {% endblock %} |
9 | |
10 | {% block content_home %} |
11 | {% load thumbnail %} |
12 | <ul id="list" class="thumbnails image_picker_selector"> |
13 | {% for people in peoples %} |
14 | <li class="list-item"> |
15 | <div class="thumbnail"> |
16 | {% thumbnail people.photo_ppl "100x100" crop="center" as im %} |
17 | <img class="image_picker_image" src="{{ im.url }}" alt="{{ people.last_name }} {{ people.first_name }}" /> |
18 | {% endthumbnail %} |
19 | <p class="name">{{ people.last_name }} {{ people.first_name }}</p> |
20 | </div> |
21 | </li> |
22 | {% endfor %} |
23 | </ul> |
24 | {% endblock %} |
25 | |
26 | {% block bottom_js_home %} |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/core/handlers/base.py
in get_response
response = middleware_method(request, callback, callback_args, callback_kwargs)
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)...
except Exception as e:
# If the view raised an exception, run it through exception
# middleware, and if the exception middleware returns a
# response, use that. Otherwise, reraise the exception.
for middleware_method in self._exception_middleware:
response = middleware_method(request, e)
Variable | Value |
---|---|
e | AttributeError("'str' object has no attribute 'name'",) |
callback_args | () |
resolver_match | ResolverMatch(func=<function wrapper at 0x7f8e81349250>, args=(), kwargs={}, url_name='nomination', app_name='None', namespace='') |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f8e7f688f10>> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f8e80685f50> |
request | "<WSGIRequest\npath:/nomination/,\nGET:<QueryDict: {}>,\nPOST:<QueryDict: {}>,\nCOOKIES:{},\nMETA:{'CONTENT_LENGTH': '',\n 'CONTENT_TYPE': '',\n u'CSRF_COOKIE': u'WTKta08yCUw5SqpvLNiLLihvXJecEv1h',\n 'DOCUMENT_ROOT': '/home/top100/top100/top100',\n 'DOCUMENT_URI': '/nomination/',\n 'GATEWAY_INTERFACE': 'CGI/1.1',\n 'HTTP_ACCEPT': '*/*',\n 'HTTP_HOST': 'top100.te.ua',\n 'HTTP_USER_AGENT': 'claudebot',\n 'PATH_INFO': u'/nomination/',\n 'QUERY_STRING': '',\n 'REMOTE_ADDR': '18.208.203.36',\n 'REMOTE_USER': '',\n 'REQUEST_METHOD': 'GET',\n 'REQUEST_URI': '/nomination/',\n 'SCRIPT_NAME': u'',\n 'SERVER_NAME': 'top100.te.ua',\n 'SERVER_PORT': '80',\n 'SERVER_PROTOCOL': 'HTTP/1.1',\n 'SERVER_SOFTWARE': 'nginx',\n 'wsgi.errors': <flup.server.fcgi_base.TeeOutputStream object at 0x7f8e7f0359d0>,\n 'wsgi.input': <flup.server.fcgi_base.InputStream object at 0x7f8e7ef85890>,\n 'wsgi.multiprocess': True,\n 'wsgi.multithread': False,\n 'wsgi.run_once': False,\n 'wsgi.url_scheme': 'http',\n 'wsgi.version': (1, 0)}>" |
callback | <function wrapper at 0x7f8e81349250> |
wrapped_callback | <function wrapper at 0x7f8e81349250> |
resolver | <RegexURLResolver 'top100.urls' (None:None) ^/> |
callback_kwargs | {} |
response | None |
urlconf | 'top100.urls' |
/home/top100/top100/top100/common/views.py
in wrapper
from django.template import RequestContext
def render_to(template):
def renderer(func):
def wrapper(request, *args, **kw):
output = func(request, *args, **kw)
if isinstance(output, (list, tuple)):
return render_to_response(output[1], output[0], RequestContext(request))...
elif isinstance(output, dict):
return render_to_response(template, output, RequestContext(request))
return output
return wrapper
return renderer
Variable | Value |
---|---|
template | '' |
args | () |
request | "<WSGIRequest\npath:/nomination/,\nGET:<QueryDict: {}>,\nPOST:<QueryDict: {}>,\nCOOKIES:{},\nMETA:{'CONTENT_LENGTH': '',\n 'CONTENT_TYPE': '',\n u'CSRF_COOKIE': u'WTKta08yCUw5SqpvLNiLLihvXJecEv1h',\n 'DOCUMENT_ROOT': '/home/top100/top100/top100',\n 'DOCUMENT_URI': '/nomination/',\n 'GATEWAY_INTERFACE': 'CGI/1.1',\n 'HTTP_ACCEPT': '*/*',\n 'HTTP_HOST': 'top100.te.ua',\n 'HTTP_USER_AGENT': 'claudebot',\n 'PATH_INFO': u'/nomination/',\n 'QUERY_STRING': '',\n 'REMOTE_ADDR': '18.208.203.36',\n 'REMOTE_USER': '',\n 'REQUEST_METHOD': 'GET',\n 'REQUEST_URI': '/nomination/',\n 'SCRIPT_NAME': u'',\n 'SERVER_NAME': 'top100.te.ua',\n 'SERVER_PORT': '80',\n 'SERVER_PROTOCOL': 'HTTP/1.1',\n 'SERVER_SOFTWARE': 'nginx',\n 'wsgi.errors': <flup.server.fcgi_base.TeeOutputStream object at 0x7f8e7f0359d0>,\n 'wsgi.input': <flup.server.fcgi_base.InputStream object at 0x7f8e7ef85890>,\n 'wsgi.multiprocess': True,\n 'wsgi.multithread': False,\n 'wsgi.run_once': False,\n 'wsgi.url_scheme': 'http',\n 'wsgi.version': (1, 0)}>" |
kw | {} |
func | <function nomination at 0x7f8e813491d0> |
output | ({'peoples': [<Peoples: Абрам'юк Святослав Юрійович (56)>, <Peoples: Айказуні Артур Рафікович (1482)>, <Peoples: Алексевич Василь Євгенович (1747)>, <Peoples: Алікаєвць Мирослав Вікторович (2528)>, <Peoples: Алілуйко Андрій Миколайович (2617)>, <Peoples: Алілуйко Сергій Миколайович (103)>, <Peoples: Андрейчин Михайло Антонович (797)>, <Peoples: Андрієшин Дмитро Михайлович (234)>, <Peoples: Андрійчук Юрій (1307)>, <Peoples: Андрійчук Соломія Вадимівна (541)>, <Peoples: Андрійчук Вадим Павлович (552)>, <Peoples: Андрійчук Алла Андріївна (747)>, <Peoples: Андрійчук Анастасія Сергіївна (834)>, <Peoples: Андрійчук Олексій (850)>, <Peoples: Андрощук Дмитро Олександрович (289)>, <Peoples: Андрунців Наталія Володимирівна (1344)>, <Peoples: Андрухів Володимир Миколайович (1233)>, <Peoples: Андрушків Богдан Миколайович (1758)>, <Peoples: Аножкін Володимир (709)>, <Peoples: Аношкін Сергій Валерійович (604)>, '...(remaining elements truncated)...'], 'request': <WSGIRequest path:/nomination/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CONTENT_LENGTH': '', 'CONTENT_TYPE': '', u'CSRF_COOKIE': u'WTKta08yCUw5SqpvLNiLLihvXJecEv1h', 'DOCUMENT_ROOT': '/home/top100/top100/top100', 'DOCUMENT_URI': '/nomination/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': '*/*', 'HTTP_HOST': 'top100.te.ua', 'HTTP_USER_AGENT': 'claudebot', 'PATH_INFO': u'/nomination/', 'QUERY_STRING': '', 'REMOTE_ADDR': '18.208.203.36', 'REMOTE_USER': '', 'REQUEST_METHOD': 'GET', 'REQUEST_URI': '/nomination/', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'top100.te.ua', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'nginx', 'wsgi.errors': <flup.server.fcgi_base.TeeOutputStream object at 0x7f8e7f0359d0>, 'wsgi.input': <flup.server.fcgi_base.InputStream object at 0x7f8e7ef85890>, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>}, 'pages/nomination.html') |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/shortcuts.py
in render_to_response
def render_to_response(*args, **kwargs):
"""
Returns a HttpResponse whose content is filled with the result of calling
django.template.loader.render_to_string() with the passed arguments.
"""
httpresponse_kwargs = {'content_type': kwargs.pop('content_type', None)}
return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)...
def render(request, *args, **kwargs):
"""
Returns a HttpResponse whose content is filled with the result of calling
django.template.loader.render_to_string() with the passed arguments.
Variable | Value |
---|---|
httpresponse_kwargs | {'content_type': None} |
args | ('pages/nomination.html', {'peoples': [<Peoples: Абрам'юк Святослав Юрійович (56)>, <Peoples: Айказуні Артур Рафікович (1482)>, <Peoples: Алексевич Василь Євгенович (1747)>, <Peoples: Алікаєвць Мирослав Вікторович (2528)>, <Peoples: Алілуйко Андрій Миколайович (2617)>, <Peoples: Алілуйко Сергій Миколайович (103)>, <Peoples: Андрейчин Михайло Антонович (797)>, <Peoples: Андрієшин Дмитро Михайлович (234)>, <Peoples: Андрійчук Юрій (1307)>, <Peoples: Андрійчук Соломія Вадимівна (541)>, <Peoples: Андрійчук Вадим Павлович (552)>, <Peoples: Андрійчук Алла Андріївна (747)>, <Peoples: Андрійчук Анастасія Сергіївна (834)>, <Peoples: Андрійчук Олексій (850)>, <Peoples: Андрощук Дмитро Олександрович (289)>, <Peoples: Андрунців Наталія Володимирівна (1344)>, <Peoples: Андрухів Володимир Миколайович (1233)>, <Peoples: Андрушків Богдан Миколайович (1758)>, <Peoples: Аножкін Володимир (709)>, <Peoples: Аношкін Сергій Валерійович (604)>, '...(remaining elements truncated)...'], 'request': <WSGIRequest path:/nomination/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CONTENT_LENGTH': '', 'CONTENT_TYPE': '', u'CSRF_COOKIE': u'WTKta08yCUw5SqpvLNiLLihvXJecEv1h', 'DOCUMENT_ROOT': '/home/top100/top100/top100', 'DOCUMENT_URI': '/nomination/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': '*/*', 'HTTP_HOST': 'top100.te.ua', 'HTTP_USER_AGENT': 'claudebot', 'PATH_INFO': u'/nomination/', 'QUERY_STRING': '', 'REMOTE_ADDR': '18.208.203.36', 'REMOTE_USER': '', 'REQUEST_METHOD': 'GET', 'REQUEST_URI': '/nomination/', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'top100.te.ua', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'nginx', 'wsgi.errors': <flup.server.fcgi_base.TeeOutputStream object at 0x7f8e7f0359d0>, 'wsgi.input': <flup.server.fcgi_base.InputStream object at 0x7f8e7ef85890>, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>}, [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}]) |
kwargs | {} |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/loader.py
in render_to_string
if not context_instance:
return t.render(Context(dictionary))
if not dictionary:
return t.render(context_instance)
# Add the dictionary to the context stack, ensuring it gets removed again
# to keep the context_instance in the same state it started in.
with context_instance.push(dictionary):
return t.render(context_instance)...
def select_template(template_name_list, dirs=None):
"Given a list of template names, returns the first that can be loaded."
if not template_name_list:
raise TemplateDoesNotExist("No template names provided")
Variable | Value |
---|---|
dirs | None |
template_name | 'pages/nomination.html' |
t | <django.template.base.Template object at 0x7f8e7f1064d0> |
dictionary | {'peoples': [<Peoples: Абрам'юк Святослав Юрійович (56)>, <Peoples: Айказуні Артур Рафікович (1482)>, <Peoples: Алексевич Василь Євгенович (1747)>, <Peoples: Алікаєвць Мирослав Вікторович (2528)>, <Peoples: Алілуйко Андрій Миколайович (2617)>, <Peoples: Алілуйко Сергій Миколайович (103)>, <Peoples: Андрейчин Михайло Антонович (797)>, <Peoples: Андрієшин Дмитро Михайлович (234)>, <Peoples: Андрійчук Юрій (1307)>, <Peoples: Андрійчук Соломія Вадимівна (541)>, <Peoples: Андрійчук Вадим Павлович (552)>, <Peoples: Андрійчук Алла Андріївна (747)>, <Peoples: Андрійчук Анастасія Сергіївна (834)>, <Peoples: Андрійчук Олексій (850)>, <Peoples: Андрощук Дмитро Олександрович (289)>, <Peoples: Андрунців Наталія Володимирівна (1344)>, <Peoples: Андрухів Володимир Миколайович (1233)>, <Peoples: Андрушків Богдан Миколайович (1758)>, <Peoples: Аножкін Володимир (709)>, <Peoples: Аношкін Сергій Валерійович (604)>, '...(remaining elements truncated)...'], 'request': <WSGIRequest path:/nomination/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CONTENT_LENGTH': '', 'CONTENT_TYPE': '', u'CSRF_COOKIE': u'WTKta08yCUw5SqpvLNiLLihvXJecEv1h', 'DOCUMENT_ROOT': '/home/top100/top100/top100', 'DOCUMENT_URI': '/nomination/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': '*/*', 'HTTP_HOST': 'top100.te.ua', 'HTTP_USER_AGENT': 'claudebot', 'PATH_INFO': u'/nomination/', 'QUERY_STRING': '', 'REMOTE_ADDR': '18.208.203.36', 'REMOTE_USER': '', 'REQUEST_METHOD': 'GET', 'REQUEST_URI': '/nomination/', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'top100.te.ua', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'nginx', 'wsgi.errors': <flup.server.fcgi_base.TeeOutputStream object at 0x7f8e7f0359d0>, 'wsgi.input': <flup.server.fcgi_base.InputStream object at 0x7f8e7ef85890>, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>} |
context_instance | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/base.py
in render
def _render(self, context):
return self.nodelist.render(context)
def render(self, context):
"Display stage -- can be called many times"
context.render_context.push()
try:
return self._render(context)...
finally:
context.render_context.pop()
def compile_string(template_string, origin):
"Compiles template_string into NodeList ready for rendering"
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7f8e7f1064d0> |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/base.py
in _render
def __iter__(self):
for node in self.nodelist:
for subnode in node:
yield subnode
def _render(self, context):
return self.nodelist.render(context)...
def render(self, context):
"Display stage -- can be called many times"
context.render_context.push()
try:
return self._render(context)
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7f8e7f1064d0> |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = self.render_node(node, context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <ExtendsNode: extends "layout/home_mobile.html"> |
self | [<ExtendsNode: extends "layout/home_mobile.html">] |
bits | [] |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/debug.py
in render_node
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <ExtendsNode: extends "layout/home_mobile.html"> |
self | [<ExtendsNode: extends "layout/home_mobile.html">] |
e | AttributeError("'str' object has no attribute 'name'",) |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/loader_tags.py
in render
blocks = dict((n.name, n) for n in
compiled_parent.nodelist.get_nodes_by_type(BlockNode))
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
return compiled_parent._render(context)...
class IncludeNode(Node):
def __init__(self, template, *args, **kwargs):
self.template = template
self.extra_context = kwargs.pop('extra_context', {})
Variable | Value |
---|---|
node | <ExtendsNode: extends "base.html"> |
block_context | <django.template.loader_tags.BlockContext object at 0x7f8e7f106f90> |
compiled_parent | <django.template.base.Template object at 0x7f8e7ef98ad0> |
self | <ExtendsNode: extends "layout/home_mobile.html"> |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/base.py
in _render
def __iter__(self):
for node in self.nodelist:
for subnode in node:
yield subnode
def _render(self, context):
return self.nodelist.render(context)...
def render(self, context):
"Display stage -- can be called many times"
context.render_context.push()
try:
return self._render(context)
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7f8e7ef98ad0> |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = self.render_node(node, context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <ExtendsNode: extends "base.html"> |
self | [<ExtendsNode: extends "base.html">] |
bits | [] |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/debug.py
in render_node
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <ExtendsNode: extends "base.html"> |
self | [<ExtendsNode: extends "base.html">] |
e | AttributeError("'str' object has no attribute 'name'",) |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/loader_tags.py
in render
blocks = dict((n.name, n) for n in
compiled_parent.nodelist.get_nodes_by_type(BlockNode))
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
return compiled_parent._render(context)...
class IncludeNode(Node):
def __init__(self, template, *args, **kwargs):
self.template = template
self.extra_context = kwargs.pop('extra_context', {})
Variable | Value |
---|---|
node | <django.template.defaulttags.LoadNode object at 0x7f8e7f034490> |
blocks | {u'bottom_js': <Block Node: bottom_js. Contents: []>, u'content': <Block Node: content. Contents: []>, u'head': <Block Node: head. Contents: []>, u'title': <Block Node: title. Contents: []>} |
block_context | <django.template.loader_tags.BlockContext object at 0x7f8e7f106f90> |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
compiled_parent | <django.template.base.Template object at 0x7f8e7f025050> |
self | <ExtendsNode: extends "base.html"> |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/base.py
in _render
def __iter__(self):
for node in self.nodelist:
for subnode in node:
yield subnode
def _render(self, context):
return self.nodelist.render(context)...
def render(self, context):
"Display stage -- can be called many times"
context.render_context.push()
try:
return self._render(context)
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7f8e7f025050> |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = self.render_node(node, context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <Block Node: content. Contents: []> |
bit | u'\n ' |
bits | [u'<!DOCTYPE html>\n<html lang="uk">\n <head>\n ', u'', u'\n <meta charset="utf-8">\n <meta http-equiv="X-UA-Compatible" content="IE=edge">\n <meta name="viewport" content="width=device-width, initial-scale=1">\n <title>', u'\u0412\u0438\u0441\u0443\u043d\u0435\u043d\u043d\u044f', u' | \u0422\u041e\u041f 100 \u0422\u0435\u0440\u043d\u043e\u043f\u043e\u043b\u044f\u043d</title>\n\n <!-- CSS -->\n <link rel="stylesheet" href="', u'/media/', u'image-picker/image-picker.css?rand=', u'6CLD52VF', u'">\n <link rel="stylesheet" href="', u'/media/', u'css/top100.css?rand=', u'N42R0DJ7', u'">\n <link rel="stylesheet" href="', u'/media/', u'css/home.css?rand=', u'X2F9QM83', u'">\n <link rel=\'stylesheet\' href=\'http://fonts.googleapis.com/css?family=Roboto+Condensed:400,400italic,300,700&subset=latin,cyrillic-ext\' type=\'text/css\'>\n <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">\n\n <!-- Bootstrap -->\n <script src="//code.jquery.com/jquery-1.10.2.js"></script>\n <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->\n <!-- WARNING: Respond.js doesn\'t work if you view the page via file:// -->\n <!--[if lt IE 9]>\n <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>\n <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>\n <![endif]-->\n\n <script src="', u'/media/', u'image-picker/image-picker.js?rand=', u'B9XF8TK4', u'"></script>\n\n ', u'\n\n\n', u'\n </head>\n <body>\n <div id="fb-root"></div>\n <script>(function(d, s, id) {\n var js, fjs = d.getElementsByTagName(s)[0];\n if (d.getElementById(id)) return;\n js = d.createElement(s); js.id = id;\n js.src = "//connect.facebook.net/uk_UA/sdk.js#xfbml=1&appId=420242981422375&version=v2.0";\n fjs.parentNode.insertBefore(js, fjs);\n }(document, \'script\', \'facebook-jssdk\'));</script>\n\n <div class="container-fluid">\n ', u'<nav class="navbar navbar-default">\n <div class="container" style="margin-top: 15px; text-align: center;">\n <a href="/">\u0413\u043e\u043b\u043e\u0432\u043d\u0430</a> |\n <a href="/about/">\u041f\u0440\u043e \u043f\u0440\u043e\u0435\u043a\u0442</a> |\n <a href="/partners/">\u041f\u0430\u0440\u0442\u043d\u0435\u0440\u0438 \u0442\u0430 \u0430\u0443\u0434\u0438\u0442\u043e\u0440\u0438</a> |\n \n <a href="/contact/">\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0438</a>\n \n </div>\n</nav>\n\n<div class="row">\n <div class="page-header col-md-4">\n <a href="/">\n <h1>\u0422\u043e\u043f-100</h1>\n </a>\n </div>\n</div>\n', u'\n '] |
self | [<Text Node: '<!DOCTYPE html> <html lan'>, <django.template.defaulttags.LoadNode object at 0x7f8e7f034490>, <Text Node: ' <meta charset="u'>, <Block Node: title. Contents: []>, <Text Node: ' | ??? 100 ??????????</ti'>, <Variable Node: settings.MEDIA_URL>, <Text Node: 'image-picker/image-picker'>, <templatetag_sugar.node.SugarNode object at 0x7f8e7f034a90>, <Text Node: '"> <link rel="sty'>, <Variable Node: settings.MEDIA_URL>, <Text Node: 'css/top100.css?rand='>, <templatetag_sugar.node.SugarNode object at 0x7f8e7f0df210>, <Text Node: '"> <link rel="sty'>, <Variable Node: settings.MEDIA_URL>, <Text Node: 'css/home.css?rand='>, <templatetag_sugar.node.SugarNode object at 0x7f8e7f034b50>, <Text Node: '"> <link rel='sty'>, <Variable Node: settings.MEDIA_URL>, <Text Node: 'image-picker/image-picker'>, <templatetag_sugar.node.SugarNode object at 0x7f8e7f034890>, <Text Node: '"></script> '>, <Block Node: head. Contents: []>, <Text Node: ' </head> <body> '>, <django.template.loader_tags.IncludeNode object at 0x7f8e7f034cd0>, <Text Node: ' '>, <Block Node: content. Contents: []>, <Text Node: ' </div> '>, <Block Node: bottom_js. Contents: []>, <Text Node: ' <script> '>] |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/debug.py
in render_node
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <Block Node: content. Contents: []> |
self | [<Text Node: '<!DOCTYPE html> <html lan'>, <django.template.defaulttags.LoadNode object at 0x7f8e7f034490>, <Text Node: ' <meta charset="u'>, <Block Node: title. Contents: []>, <Text Node: ' | ??? 100 ??????????</ti'>, <Variable Node: settings.MEDIA_URL>, <Text Node: 'image-picker/image-picker'>, <templatetag_sugar.node.SugarNode object at 0x7f8e7f034a90>, <Text Node: '"> <link rel="sty'>, <Variable Node: settings.MEDIA_URL>, <Text Node: 'css/top100.css?rand='>, <templatetag_sugar.node.SugarNode object at 0x7f8e7f0df210>, <Text Node: '"> <link rel="sty'>, <Variable Node: settings.MEDIA_URL>, <Text Node: 'css/home.css?rand='>, <templatetag_sugar.node.SugarNode object at 0x7f8e7f034b50>, <Text Node: '"> <link rel='sty'>, <Variable Node: settings.MEDIA_URL>, <Text Node: 'image-picker/image-picker'>, <templatetag_sugar.node.SugarNode object at 0x7f8e7f034890>, <Text Node: '"></script> '>, <Block Node: head. Contents: []>, <Text Node: ' </head> <body> '>, <django.template.loader_tags.IncludeNode object at 0x7f8e7f034cd0>, <Text Node: ' '>, <Block Node: content. Contents: []>, <Text Node: ' </div> '>, <Block Node: bottom_js. Contents: []>, <Text Node: ' <script> '>] |
e | AttributeError("'str' object has no attribute 'name'",) |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/loader_tags.py
in render
push = block = block_context.pop(self.name)
if block is None:
block = self
# Create new block so we can store context without thread-safety issues.
block = type(self)(block.name, block.nodelist)
block.context = context
context['block'] = block
result = block.nodelist.render(context)...
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
render_context = self.context.render_context
Variable | Value |
---|---|
push | <Block Node: content. Contents: [<Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f8e7f191790>, <Text Node: ' <div class="row"> '>, <Block Node: content_home. Contents: []>, <Text Node: ' </div> <div cla'>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7f8e7f106f90> |
block | <Block Node: content. Contents: [<Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f8e7f191790>, <Text Node: ' <div class="row"> '>, <Block Node: content_home. Contents: []>, <Text Node: ' </div> <div cla'>]> |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
self | <Block Node: content. Contents: []> |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = self.render_node(node, context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <Block Node: content_home. Contents: []> |
bit | u'\n <div class="row">\n <div id="content_container"></div>\n\n ' |
bits | [u'\n ', u'\n\n<div class="row">\n <div class="col-md-4 darkblue" id="top100step">\n <a href="/nomination/" style="color: whitesmoke;">\u0412\u0438\u0441\u0443\u043d\u0435\u043d\u043d\u044f</a>\n </div>\n <div class="col-md-4 darkblue" id="top100step">\n <a href="/polls/" style="color: whitesmoke;">\u0413\u043e\u043b\u043e\u0441\u0443\u0432\u0430\u043d\u043d\u044f</a>\n </div>\n <div class="col-md-4 darkblue" id="top100step">\n <a href="/" style="color: whitesmoke;">\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442</a>\n </div>\n\n</div>\n\n', u'\n <div class="row">\n <div id="content_container"></div>\n\n '] |
self | [<Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f8e7f191790>, <Text Node: ' <div class="row"> '>, <Block Node: content_home. Contents: []>, <Text Node: ' </div> <div cla'>] |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/debug.py
in render_node
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <Block Node: content_home. Contents: []> |
self | [<Text Node: ' '>, <django.template.loader_tags.IncludeNode object at 0x7f8e7f191790>, <Text Node: ' <div class="row"> '>, <Block Node: content_home. Contents: []>, <Text Node: ' </div> <div cla'>] |
e | AttributeError("'str' object has no attribute 'name'",) |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/loader_tags.py
in render
push = block = block_context.pop(self.name)
if block is None:
block = self
# Create new block so we can store context without thread-safety issues.
block = type(self)(block.name, block.nodelist)
block.context = context
context['block'] = block
result = block.nodelist.render(context)...
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
render_context = self.context.render_context
Variable | Value |
---|---|
push | <Block Node: content_home. Contents: [<Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f8e7ef983d0>, <Text Node: ' <ul id="list" class='>, <For Node: for people in peoples, tail_len: 7>, <Text Node: ' </ul> '>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7f8e7f106f90> |
block | <Block Node: content_home. Contents: [<Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f8e7ef983d0>, <Text Node: ' <ul id="list" class='>, <For Node: for people in peoples, tail_len: 7>, <Text Node: ' </ul> '>]> |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
self | <Block Node: content_home. Contents: []> |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = self.render_node(node, context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <For Node: for people in peoples, tail_len: 7> |
bit | u'\n <ul id="list" class="thumbnails image_picker_selector">\n ' |
bits | [u'\n ', u'', u'\n <ul id="list" class="thumbnails image_picker_selector">\n '] |
self | [<Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f8e7ef983d0>, <Text Node: ' <ul id="list" class='>, <For Node: for people in peoples, tail_len: 7>, <Text Node: ' </ul> '>] |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/debug.py
in render_node
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <For Node: for people in peoples, tail_len: 7> |
self | [<Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f8e7ef983d0>, <Text Node: ' <ul id="list" class='>, <For Node: for people in peoples, tail_len: 7>, <Text Node: ' </ul> '>] |
e | AttributeError("'str' object has no attribute 'name'",) |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/django/template/defaulttags.py
in render
else:
context[self.loopvars[0]] = item
# In TEMPLATE_DEBUG mode provide source of the node which
# actually raised the exception
if settings.TEMPLATE_DEBUG:
for node in self.nodelist_loop:
try:
nodelist.append(node.render(context))...
except Exception as e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
else:
for node in self.nodelist_loop:
Variable | Value |
---|---|
node | <ThumbnailNode> |
len_values | 2227 |
pop_context | False |
e | AttributeError("'str' object has no attribute 'name'",) |
item | <Peoples: Айказуні Артур Рафікович (1482)> |
loop_dict | {u'counter': 2, u'counter0': 1, u'first': False, u'last': False, u'parentloop': {}, u'revcounter': 2226, u'revcounter0': 2225} |
self | <For Node: for people in peoples, tail_len: 7> |
parentloop | {} |
i | 1 |
values | [<Peoples: Абрам'юк Святослав Юрійович (56)>, <Peoples: Айказуні Артур Рафікович (1482)>, <Peoples: Алексевич Василь Євгенович (1747)>, <Peoples: Алікаєвць Мирослав Вікторович (2528)>, <Peoples: Алілуйко Андрій Миколайович (2617)>, <Peoples: Алілуйко Сергій Миколайович (103)>, <Peoples: Андрейчин Михайло Антонович (797)>, <Peoples: Андрієшин Дмитро Михайлович (234)>, <Peoples: Андрійчук Юрій (1307)>, <Peoples: Андрійчук Соломія Вадимівна (541)>, <Peoples: Андрійчук Вадим Павлович (552)>, <Peoples: Андрійчук Алла Андріївна (747)>, <Peoples: Андрійчук Анастасія Сергіївна (834)>, <Peoples: Андрійчук Олексій (850)>, <Peoples: Андрощук Дмитро Олександрович (289)>, <Peoples: Андрунців Наталія Володимирівна (1344)>, <Peoples: Андрухів Володимир Миколайович (1233)>, <Peoples: Андрушків Богдан Миколайович (1758)>, <Peoples: Аножкін Володимир (709)>, <Peoples: Аношкін Сергій Валерійович (604)>, '...(remaining elements truncated)...'] |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
nodelist | [u'\n <li class="list-item">\n <div class="thumbnail">\n ', u'\n <img class="image_picker_image" src="/media/cache/34/41/3441e77290b9d258e911fdfa31df5b47.jpg" alt="\u0410\u0431\u0440\u0430\u043c'\u044e\u043a \u0421\u0432\u044f\u0442\u043e\u0441\u043b\u0430\u0432" />\n ', u'\n <p class="name">', u'\u0410\u0431\u0440\u0430\u043c'\u044e\u043a', u' ', u'\u0421\u0432\u044f\u0442\u043e\u0441\u043b\u0430\u0432', u'</p>\n </div>\n </li>\n ', u'\n <li class="list-item">\n <div class="thumbnail">\n '] |
unpack | False |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/sorl/thumbnail/templatetags/thumbnail.py
in render
A Node that renders safely
"""
nodelist_empty = NodeList()
def render(self, context):
try:
return self._render(context)...
except Exception:
if settings.THUMBNAIL_DEBUG:
raise
error_message = 'Thumbnail tag failed'
Variable | Value |
---|---|
self | <ThumbnailNode> |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/sorl/thumbnail/templatetags/thumbnail.py
in _render
noresolve = {'True': True, 'False': False, 'None': None}
value = noresolve.get(text_type(expr), expr.resolve(context))
if key == 'options':
options.update(value)
else:
options[key] = value
thumbnail = get_thumbnail(file_, geometry, **options)...
if not thumbnail or (isinstance(thumbnail, DummyImageFile) and self.nodelist_empty):
if self.nodelist_empty:
return self.nodelist_empty.render(context)
else:
return ''
Variable | Value |
---|---|
key | 'crop' |
geometry | u'100x100' |
expr | <django.template.base.FilterExpression object at 0x7f8e7f025610> |
self | <ThumbnailNode> |
file_ | 'img/noface2.png' |
value | u'center' |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f8e7f106ad0>, 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7f8e7f106090>>, 'settings': <django.conf.LazySettings object at 0x7f8e80c36ed0>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f8e7f1062d0>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f8e7f035f10>}] |
noresolve | {u'False': False, u'None': None, u'True': True} |
options | {'crop': u'center'} |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/sorl/thumbnail/shortcuts.py
in get_thumbnail
from sorl.thumbnail import default
def get_thumbnail(file_, geometry_string, **options):
"""
A shortcut for the Backend ``get_thumbnail`` method
"""
return default.backend.get_thumbnail(file_, geometry_string, **options)...
def delete(file_, delete_file=True):
"""
A shortcut for the Backend ``delete`` method
"""
Variable | Value |
---|---|
file_ | 'img/noface2.png' |
options | {'crop': u'center'} |
geometry_string | u'100x100' |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/sorl/thumbnail/base.py
in get_thumbnail
elif settings.THUMBNAIL_DUMMY:
return DummyImageFile(geometry_string)
else:
return None
#preserve image filetype
if settings.THUMBNAIL_PRESERVE_FORMAT:
options.setdefault('format', self._get_format(file_))...
for key, value in self.default_options.items():
options.setdefault(key, value)
# For the future I think it is better to add options only if they
Variable | Value |
---|---|
source | <sorl.thumbnail.images.ImageFile object at 0x7f8e7f034c90> |
self | <sorl.thumbnail.base.ThumbnailBackend object at 0x7f8e7f127b10> |
file_ | 'img/noface2.png' |
options | {'crop': u'center'} |
geometry_string | u'100x100' |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/sorl/thumbnail/base.py
in _get_format
('blur', 'THUMBNAIL_BLUR'),
)
def file_extension(self, file_):
return os.path.splitext(file_.name)[1].lower()
def _get_format(self, file_):
file_extension = self.file_extension(file_)...
if file_extension == '.jpg' or file_extension == '.jpeg':
return 'JPEG'
elif file_extension == '.png':
return 'PNG'
else:
Variable | Value |
---|---|
self | <sorl.thumbnail.base.ThumbnailBackend object at 0x7f8e7f127b10> |
file_ | 'img/noface2.png' |
/home/top100/.virtualenvs/top100/lib/python2.7/site-packages/sorl/thumbnail/base.py
in file_extension
extra_options = (
('progressive', 'THUMBNAIL_PROGRESSIVE'),
('orientation', 'THUMBNAIL_ORIENTATION'),
('blur', 'THUMBNAIL_BLUR'),
)
def file_extension(self, file_):
return os.path.splitext(file_.name)[1].lower()...
def _get_format(self, file_):
file_extension = self.file_extension(file_)
if file_extension == '.jpg' or file_extension == '.jpeg':
return 'JPEG'
Variable | Value |
---|---|
self | <sorl.thumbnail.base.ThumbnailBackend object at 0x7f8e7f127b10> |
file_ | 'img/noface2.png' |
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
SERVER_SOFTWARE | 'nginx' |
SCRIPT_NAME | u'' |
REQUEST_METHOD | 'GET' |
PATH_INFO | u'/nomination/' |
SERVER_PROTOCOL | 'HTTP/1.1' |
QUERY_STRING | '' |
CONTENT_LENGTH | '' |
REMOTE_USER | '' |
SERVER_NAME | 'top100.te.ua' |
REMOTE_ADDR | '18.208.203.36' |
wsgi.url_scheme | 'http' |
SERVER_PORT | '80' |
DOCUMENT_ROOT | '/home/top100/top100/top100' |
DOCUMENT_URI | '/nomination/' |
wsgi.input | <flup.server.fcgi_base.InputStream object at 0x7f8e7ef85890> |
HTTP_USER_AGENT | 'claudebot' |
HTTP_HOST | 'top100.te.ua' |
wsgi.multithread | False |
REQUEST_URI | '/nomination/' |
HTTP_ACCEPT | '*/*' |
wsgi.version | (1, 0) |
GATEWAY_INTERFACE | 'CGI/1.1' |
wsgi.run_once | False |
wsgi.errors | <flup.server.fcgi_base.TeeOutputStream object at 0x7f8e7f0359d0> |
wsgi.multiprocess | True |
CONTENT_TYPE | '' |
CSRF_COOKIE | u'WTKta08yCUw5SqpvLNiLLihvXJecEv1h' |
top100.settings
Setting | Value |
---|---|
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
CSRF_COOKIE_SECURE | False |
LANGUAGE_CODE | 'uk-UA' |
ROOT_URLCONF | 'top100.urls' |
MANAGERS | () |
BASE_DIR | '/home/top100/top100' |
TEST_NON_SERIALIZED_APPS | [] |
DEFAULT_CHARSET | 'utf-8' |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
STATIC_ROOT | '/home/top100/top100/top100/static' |
MOBI_DETECT_TABLET | True |
ALLOWED_HOSTS | [] |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
SEND_BROKEN_LINK_EMAILS | False |
STATICFILES_FINDERS | ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder') |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_NAME | 'sessionid' |
TWITTER_OAUTH_TOKEN_SECRET | u'********************' |
ADMIN_FOR | () |
TIME_INPUT_FORMATS | ('%H:%M:%S', '%H:%M:%S.%f', '%H:%M') |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': '127.0.0.1', 'NAME': 'top100', 'OPTIONS': {'init_command': 'SET default_storage_engine=MyISAM'}, 'PASSWORD': u'********************', 'PORT': '3306', 'TEST': {'CHARSET': 'utf8', 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': 'Europe/Kiev', 'USER': 'top100'}} |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ('django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler') |
DEFAULT_CONTENT_TYPE | 'text/html' |
APPEND_SLASH | True |
LOCALE_PATHS | () |
DATABASE_ROUTERS | [] |
DEFAULT_TABLESPACE | '' |
YEAR_MONTH_FORMAT | 'F Y' |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
SERVER_EMAIL | 'root@localhost' |
SESSION_COOKIE_PATH | '/' |
SILENCED_SYSTEM_CHECKS | [] |
MIDDLEWARE_CLASSES | ('django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware', 'mobi.middleware.MobileDetectionMiddleware') |
USE_I18N | True |
THOUSAND_SEPARATOR | ',' |
SECRET_KEY | u'********************' |
LANGUAGE_COOKIE_NAME | 'django_language' |
DEFAULT_INDEX_TABLESPACE | '' |
TRANSACTIONS_MANAGED | False |
LOGGING_CONFIG | 'logging.config.dictConfig' |
TEMPLATE_LOADERS | ('django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader') |
FIRST_DAY_OF_WEEK | 0 |
WSGI_APPLICATION | 'top100.wsgi.application' |
TEMPLATE_DEBUG | True |
X_FRAME_OPTIONS | 'SAMEORIGIN' |
CSRF_COOKIE_NAME | 'csrftoken' |
SMSUKRAINE_KEY | u'********************' |
FORCE_SCRIPT_NAME | None |
USE_X_FORWARDED_HOST | False |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SESSION_COOKIE_SECURE | False |
CSRF_COOKIE_DOMAIN | None |
FILE_CHARSET | 'utf-8' |
DEBUG | True |
LANGUAGE_COOKIE_DOMAIN | None |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
INSTALLED_APPS | ('django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.sites', 'django.contrib.flatpages', 'top100.common', 'top100.apps.t100', 'taggit', 'taggit_templatetags', 'sorl.thumbnail') |
LANGUAGES | (('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese'), ('zh-tw', 'Traditional Chinese')) |
COMMENTS_ALLOW_PROFANITIES | False |
STATICFILES_DIRS | () |
PREPEND_WWW | False |
SECURE_PROXY_SSL_HEADER | None |
LANGUAGE_COOKIE_AGE | None |
SESSION_COOKIE_HTTPONLY | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
INTERNAL_IPS | () |
MONTH_DAY_FORMAT | 'F j' |
LOGIN_URL | '/accounts/login/' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
TIME_FORMAT | 'P' |
AUTH_USER_MODEL | 'auth.User' |
DATE_INPUT_FORMATS | ('%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y') |
AUTHENTICATION_BACKENDS | ('django.contrib.auth.backends.ModelBackend',) |
EMAIL_HOST_PASSWORD | u'********************' |
PASSWORD_RESET_TIMEOUT_DAYS | u'********************' |
SESSION_FILE_PATH | None |
CACHE_MIDDLEWARE_ALIAS | 'default' |
SESSION_SAVE_EVERY_REQUEST | False |
NUMBER_GROUPING | 0 |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
TWITTER_OAUTH_TOKEN | u'********************' |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_COOKIE_PATH | '/' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
DECIMAL_SEPARATOR | '.' |
IGNORABLE_404_URLS | () |
MIGRATION_MODULES | {} |
TEMPLATE_STRING_IF_INVALID | '' |
LOGOUT_URL | '/accounts/logout/' |
EMAIL_USE_TLS | False |
FIXTURE_DIRS | () |
EMAIL_HOST | 'localhost' |
DATE_FORMAT | 'N j, Y' |
MEDIA_ROOT | '/home/top100/top100/top100/media' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
ADMINS | (('Svyatoslav Zhurovskyy', 'svyatoslav.zhurovsky@gmail.com'), ('Oleh Riznyk', 'riznyk@gmail.com')) |
FORMAT_MODULE_PATH | None |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
MEDIA_URL | '/media/' |
DATETIME_FORMAT | 'N j, Y, P' |
TEMPLATE_DIRS | ('/home/top100/top100/templates',) |
SITE_ID | 1 |
DISALLOWED_USER_AGENTS | () |
ALLOWED_INCLUDE_ROOTS | () |
LOGGING | {} |
TWITTER_APP_SECRET | u'********************' |
SHORT_DATE_FORMAT | 'm/d/Y' |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
CACHE_MIDDLEWARE_KEY_PREFIX | u'********************' |
TIME_ZONE | 'Europe/Kiev' |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_USE_SSL | False |
TEMPLATE_CONTEXT_PROCESSORS | ['django.contrib.auth.context_processors.auth', 'top100.common.template_context_processors.settings', 'django.contrib.messages.context_processors.messages'] |
THUMBNAIL_DEBUG | True |
SESSION_COOKIE_AGE | 1209600 |
SETTINGS_MODULE | 'top100.settings' |
USE_ETAGS | False |
TWITTER_APP_KEY | u'********************' |
LANGUAGES_BIDI | ('he', 'ar', 'fa', 'ur') |
FILE_UPLOAD_TEMP_DIR | None |
CSRF_COOKIE_AGE | 31449600 |
STATIC_URL | '/static/' |
EMAIL_PORT | 25 |
USE_TZ | False |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
THUMBNAIL_PRESERVE_FORMAT | True |
PASSWORD_HASHERS | u'********************' |
ABSOLUTE_URL_OVERRIDES | {} |
LANGUAGE_COOKIE_PATH | '/' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CSRF_COOKIE_HTTPONLY | False |
DATETIME_INPUT_FORMATS | ('%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y') |
EMAIL_HOST_USER | '' |
PROFANITIES_LIST | u'********************' |
You're seeing this error because you have DEBUG = True
in your
Django settings file. Change that to False
, and Django will
display a standard 500 page.