(1055, "Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'old_gsheep.gsheep_location.lat' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by")
Request Method: | GET |
---|---|
Request URL: | https://geosheep.co.ua/place/country/%D0%A2%D0%B0%D1%97%D0%BB%D0%B0%D0%BD%D0%B4 |
Django Version: | 3.1.3 |
Exception Type: | OperationalError |
Exception Value: | (1055, "Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'old_gsheep.gsheep_location.lat' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by") |
Exception Location: | /home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/MySQLdb/connections.py, line 259, in query |
Python Executable: | /home/mee/.local/share/virtualenvs/public-lgrvgRr2/bin/python |
Python Version: | 3.8.10 |
Python Path: | ['/var/www/old_gsheep/public/gsheep/packages/', '/var/www/old_gsheep/public/..', '/var/www/old_gsheep/public', '/home/mee/.local/share/virtualenvs/public-lgrvgRr2/bin', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload', '/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages'] |
Server time: | Thu, 28 Mar 2024 07:13:38 -0500 |
In template /var/www/old_gsheep/public/gsheep/templates/web/layout.html
, error at line 0
1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" |
---|---|
2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
3 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ua" lang="ua"> |
4 | <head> |
5 | <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> |
6 | <title>{% block title %}Your travel journal right in your Twitter{% endblock %} ~ GeoSheep</title> |
7 | <link rel="stylesheet" href="/static/css/style.css" type="text/css" media="screen" charset="utf-8"/> |
8 | <script type="text/javascript" src="/static/js/jquery.min.js"></script> |
9 | <meta name="google-site-verification" content="0SFpJwva6QVtETNNRjTVMZnJIsQEJQbGYsrPHiBRoiE" /> |
10 | {% block opengraph %} |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/db/backends/utils.py
, line 84, in _execute
def _execute(self, sql, params, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
if params is None:
# params default might be backend specific.
return self.cursor.execute(sql)
else:
return self.cursor.execute(sql, params)…
def _executemany(self, sql, param_list, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
return self.cursor.executemany(sql, param_list)
Variable | Value |
---|---|
ignored_wrapper_args | (False, {'connection': <django.db.backends.mysql.base.DatabaseWrapper object at 0x7f7cb35397f0>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f7cafd39730>}) |
params | () |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f7cafd39730> |
sql | ('SELECT lat,lon,LocalityName,CountryName FROM gsheep_location WHERE ' "CountryName = 'Таїланд' GROUP BY LocalityName ORDER BY LocalityName") |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/db/backends/mysql/base.py
, line 73, in execute
def __init__(self, cursor):
self.cursor = cursor
def execute(self, query, args=None):
try:
# args is None means no string interpolation
return self.cursor.execute(query, args)…
except Database.OperationalError as e:
# Map some error codes to IntegrityError, since they seem to be
# misclassified and Django would prefer the more logical place.
if e.args[0] in self.codes_for_integrityerror:
raise IntegrityError(*tuple(e.args))
raise
Variable | Value |
---|---|
args | () |
query | ('SELECT lat,lon,LocalityName,CountryName FROM gsheep_location WHERE ' "CountryName = 'Таїланд' GROUP BY LocalityName ORDER BY LocalityName") |
self | <django.db.backends.mysql.base.CursorWrapper object at 0x7f7caf9cf310> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/MySQLdb/cursors.py
, line 206, in execute
args = tuple(map(db.literal, args))
try:
query = query % args
except TypeError as m:
raise ProgrammingError(str(m))
assert isinstance(query, (bytes, bytearray))
res = self._query(query)…
return res
def executemany(self, query, args):
# type: (str, list) -> int
"""Execute a multi-row query.
Variable | Value |
---|---|
args | () |
db | <_mysql.connection open to 'localhost' at 0x2156430> |
query | (b'SELECT lat,lon,LocalityName,CountryName FROM gsheep_location WHERE CountryNa' b"me = '\xd0\xa2\xd0\xb0\xd1\x97\xd0\xbb\xd0\xb0\xd0\xbd\xd0\xb4' GROUP BY L" b'ocalityName ORDER BY LocalityName') |
self | <MySQLdb.cursors.Cursor object at 0x7f7caf9cf3a0> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/MySQLdb/cursors.py
, line 319, in _query
)
self._query(q)
return args
def _query(self, q):
db = self._get_db()
self._result = None
db.query(q)…
self._do_get_result(db)
self._post_get_result()
self._executed = q
return self.rowcount
def _fetch_row(self, size=1):
Variable | Value |
---|---|
db | <_mysql.connection open to 'localhost' at 0x2156430> |
q | (b'SELECT lat,lon,LocalityName,CountryName FROM gsheep_location WHERE CountryNa' b"me = '\xd0\xa2\xd0\xb0\xd1\x97\xd0\xbb\xd0\xb0\xd0\xbd\xd0\xb4' GROUP BY L" b'ocalityName ORDER BY LocalityName') |
self | <MySQLdb.cursors.Cursor object at 0x7f7caf9cf3a0> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/MySQLdb/connections.py
, line 259, in query
"""
return (cursorclass or self.cursorclass)(self)
def query(self, query):
# Since _mysql releases GIL while querying, we need immutable buffer.
if isinstance(query, bytearray):
query = bytes(query)
_mysql.connection.query(self, query)…
def _bytes_literal(self, bs):
assert isinstance(bs, (bytes, bytearray))
x = self.string_literal(bs) # x is escaped and quoted bytes
if self._binary_prefix:
return b"_binary" + x
Variable | Value |
---|---|
query | (b'SELECT lat,lon,LocalityName,CountryName FROM gsheep_location WHERE CountryNa' b"me = '\xd0\xa2\xd0\xb0\xd1\x97\xd0\xbb\xd0\xb0\xd0\xbd\xd0\xb4' GROUP BY L" b'ocalityName ORDER BY LocalityName') |
self | <_mysql.connection open to 'localhost' at 0x2156430> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/core/handlers/exception.py
, line 47, in inner
response = await sync_to_async(response_for_exception, thread_sensitive=False)(request, exc)
return response
return inner
else:
@wraps(get_response)
def inner(request):
try:
response = get_response(request)…
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
Variable | Value |
---|---|
exc | OperationalError(1055, "Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'old_gsheep.gsheep_location.lat' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by") |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f7cb249f070>> |
request | <WSGIRequest: GET '/place/country/%D0%A2%D0%B0%D1%97%D0%BB%D0%B0%D0%BD%D0%B4'> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/core/handlers/base.py
, line 179, in _get_response
if response is None:
wrapped_callback = self.make_view_atomic(callback)
# If it is an asynchronous view, run it in a subthread.
if asyncio.iscoroutinefunction(wrapped_callback):
wrapped_callback = async_to_sync(wrapped_callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
if response is None:
raise
# Complain if the view returned None (a common error).
Variable | Value |
---|---|
callback | <function apply_template.<locals>._process_view.<locals>._handle_request at 0x7f7cb281e310> |
callback_args | ('Таїланд',) |
callback_kwargs | {} |
request | <WSGIRequest: GET '/place/country/%D0%A2%D0%B0%D1%97%D0%BB%D0%B0%D0%BD%D0%B4'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f7cb249f070> |
wrapped_callback | <function apply_template.<locals>._process_view.<locals>._handle_request at 0x7f7cb281e310> |
/var/www/old_gsheep/public/gsheep/packages/decorator.py
, line 33, in _handle_request
if isinstance(context,dict):
p_template = template
if ('template' in context):
p_template = context['template']
response = render(request, 'web/%s' % (p_template), context)…
response['content-type'] = 'text/html'
return response
else:
return context #this is probably a redirect
return _handle_request
Variable | Value |
---|---|
args | ('Таїланд',) |
context | {'center_map': 0, 'json_url': 'http://geosheep.co.ua/api/towns/country/Таїланд', 'locations': <generator object query_to_dicts at 0x7f7caff0b5f0>, 'title': 'Таїланд — список місць'} |
kwargs | {} |
p_template | 'list_places.html' |
request | <WSGIRequest: GET '/place/country/%D0%A2%D0%B0%D1%97%D0%BB%D0%B0%D0%BD%D0%B4'> |
template | 'list_places.html' |
view_func | <function places_by_country at 0x7f7cb281e280> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/shortcuts.py
, line 19, in render
def render(request, template_name, context=None, content_type=None, status=None, using=None):
"""
Return a HttpResponse whose content is filled with the result of calling
django.template.loader.render_to_string() with the passed arguments.
"""
content = loader.render_to_string(template_name, context, request, using=using)…
return HttpResponse(content, content_type, status)
def redirect(to, *args, permanent=False, **kwargs):
"""
Return an HttpResponseRedirect to the appropriate URL for the arguments
Variable | Value |
---|---|
content_type | None |
context | {'center_map': 0, 'json_url': 'http://geosheep.co.ua/api/towns/country/Таїланд', 'locations': <generator object query_to_dicts at 0x7f7caff0b5f0>, 'title': 'Таїланд — список місць'} |
request | <WSGIRequest: GET '/place/country/%D0%A2%D0%B0%D1%97%D0%BB%D0%B0%D0%BD%D0%B4'> |
status | None |
template_name | 'web/list_places.html' |
using | None |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/template/loader.py
, line 62, in render_to_string
template_name may be a string or a list of strings.
"""
if isinstance(template_name, (list, tuple)):
template = select_template(template_name, using=using)
else:
template = get_template(template_name, using=using)
return template.render(context, request)…
def _engine_list(using=None):
return engines.all() if using is None else [engines[using]]
Variable | Value |
---|---|
context | {'center_map': 0, 'json_url': 'http://geosheep.co.ua/api/towns/country/Таїланд', 'locations': <generator object query_to_dicts at 0x7f7caff0b5f0>, 'title': 'Таїланд — список місць'} |
request | <WSGIRequest: GET '/place/country/%D0%A2%D0%B0%D1%97%D0%BB%D0%B0%D0%BD%D0%B4'> |
template | <django.template.backends.django.Template object at 0x7f7caf302640> |
template_name | 'web/list_places.html' |
using | None |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/template/backends/django.py
, line 61, in render
@property
def origin(self):
return self.template.origin
def render(self, context=None, request=None):
context = make_context(context, request, autoescape=self.backend.engine.autoescape)
try:
return self.template.render(context)…
except TemplateDoesNotExist as exc:
reraise(exc, self.backend)
def copy_exception(exc, backend=None):
"""
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'locations': <generator object query_to_dicts at 0x7f7caff0b5f0>, 'title': 'Таїланд — список місць', 'json_url': 'http://geosheep.co.ua/api/towns/country/Таїланд', 'center_map': 0}] |
request | <WSGIRequest: GET '/place/country/%D0%A2%D0%B0%D1%97%D0%BB%D0%B0%D0%BD%D0%B4'> |
self | <django.template.backends.django.Template object at 0x7f7caf302640> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/template/base.py
, line 170, in render
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)…
else:
return self._render(context)
def compile_nodelist(self):
"""
Parse and compile the template source into a nodelist. If debug
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'locations': <generator object query_to_dicts at 0x7f7caff0b5f0>, 'title': 'Таїланд — список місць', 'json_url': 'http://geosheep.co.ua/api/towns/country/Таїланд', 'center_map': 0}] |
self | <django.template.base.Template object at 0x7f7cafa8bf70> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/test/utils.py
, line 96, in instrumented_test_render
def instrumented_test_render(self, context):
"""
An instrumented Template render method, providing a signal that can be
intercepted by the test Client.
"""
template_rendered.send(sender=self, template=self, context=context)
return self.nodelist.render(context)…
class _TestState:
pass
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'locations': <generator object query_to_dicts at 0x7f7caff0b5f0>, 'title': 'Таїланд — список місць', 'json_url': 'http://geosheep.co.ua/api/towns/country/Таїланд', 'center_map': 0}] |
self | <django.template.base.Template object at 0x7f7cafa8bf70> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bits | [] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'locations': <generator object query_to_dicts at 0x7f7caff0b5f0>, 'title': 'Таїланд — список місць', 'json_url': 'http://geosheep.co.ua/api/towns/country/Таїланд', 'center_map': 0}] |
node | <ExtendsNode: extends "web/layout.html"> |
self | [<ExtendsNode: extends "web/layout.html">] |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'locations': <generator object query_to_dicts at 0x7f7caff0b5f0>, 'title': 'Таїланд — список місць', 'json_url': 'http://geosheep.co.ua/api/towns/country/Таїланд', 'center_map': 0}] |
self | <ExtendsNode: extends "web/layout.html"> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/template/loader_tags.py
, line 150, in render
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.
with context.render_context.push_state(compiled_parent, isolated_context=False):
return compiled_parent._render(context)…
class IncludeNode(Node):
context_key = '__include_context'
def __init__(self, template, *args, extra_context=None, isolated_context=False, **kwargs):
Variable | Value |
---|---|
block_context | <django.template.loader_tags.BlockContext object at 0x7f7cb02f5040> |
blocks | {'content': <Block Node: content. Contents: []>, 'opengraph': <Block Node: opengraph. Contents: [<TextNode: '\n\t'>]>, 'scripts': <Block Node: scripts. Contents: []>, 'title': <Block Node: title. Contents: [<TextNode: 'Your travel journal right'>]>, 'wrapper-class': <Block Node: wrapper-class. Contents: [<TextNode: 'wrapper'>]>} |
compiled_parent | <django.template.base.Template object at 0x7f7cb02f55b0> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'locations': <generator object query_to_dicts at 0x7f7caff0b5f0>, 'title': 'Таїланд — список місць', 'json_url': 'http://geosheep.co.ua/api/towns/country/Таїланд', 'center_map': 0}] |
node | <Block Node: title. Contents: [<TextNode: 'Your travel journal right'>]> |
self | <ExtendsNode: extends "web/layout.html"> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/test/utils.py
, line 96, in instrumented_test_render
def instrumented_test_render(self, context):
"""
An instrumented Template render method, providing a signal that can be
intercepted by the test Client.
"""
template_rendered.send(sender=self, template=self, context=context)
return self.nodelist.render(context)…
class _TestState:
pass
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'locations': <generator object query_to_dicts at 0x7f7caff0b5f0>, 'title': 'Таїланд — список місць', 'json_url': 'http://geosheep.co.ua/api/towns/country/Таїланд', 'center_map': 0}] |
self | <django.template.base.Template object at 0x7f7cb02f55b0> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | ('">\n' '\t\t\t<div id="menu">\n' '\t\t\t\t<ul>\n' '\t\t\t\t\t<li><a href="/">Головна</a></li>\n' '\t\t\t\t\t<li><a href="/places/">Міста</a></li>\n' '\t\t\t\t\t<li><a href="/users/">Мандрівники</a></li>\n' '\t\t\t\t\t<li><a href="/pages/about">Про овечку</a></li>\t\t\t\t\t\n' '\t\t\t\t</ul>\n' '\t\t\t</div>\n' '\t\t\t\n' '\t\t\t') |
bits | ['<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n' ' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n' '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ua" lang="ua">\n' '<head>\n' '\t<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>\n' '\t<title>', 'Таїланд — список місць', ' ~ GeoSheep</title>\t\n' '\t<link rel="stylesheet" href="/static/css/style.css" type="text/css" ' 'media="screen" charset="utf-8"/>\n' '\t<script type="text/javascript" src="/static/js/jquery.min.js"></script>\t\n' '\t<meta name="google-site-verification" ' 'content="0SFpJwva6QVtETNNRjTVMZnJIsQEJQbGYsrPHiBRoiE" />\n' '\t', '\n\t', '\n</head>\n<body>\n\t<div id="wrapper-w">\t\n\t\t<div id="', 'wrapper', '">\n' '\t\t\t<div id="menu">\n' '\t\t\t\t<ul>\n' '\t\t\t\t\t<li><a href="/">Головна</a></li>\n' '\t\t\t\t\t<li><a href="/places/">Міста</a></li>\n' '\t\t\t\t\t<li><a href="/users/">Мандрівники</a></li>\n' '\t\t\t\t\t<li><a href="/pages/about">Про овечку</a></li>\t\t\t\t\t\n' '\t\t\t\t</ul>\n' '\t\t\t</div>\n' '\t\t\t\n' '\t\t\t'] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'locations': <generator object query_to_dicts at 0x7f7caff0b5f0>, 'title': 'Таїланд — список місць', 'json_url': 'http://geosheep.co.ua/api/towns/country/Таїланд', 'center_map': 0}] |
node | <Block Node: content. Contents: []> |
self | [<TextNode: '<!DOCTYPE html PUBLIC "-/'>, <Block Node: title. Contents: [<TextNode: 'Your travel journal right'>]>, <TextNode: ' ~ GeoSheep</title>\t\n\t<li'>, <Block Node: opengraph. Contents: [<TextNode: '\n\t'>]>, <TextNode: '\n</head>\n<body>\n\t<div id='>, <Block Node: wrapper-class. Contents: [<TextNode: 'wrapper'>]>, <TextNode: '">\n\t\t\t<div id="menu">\n\t\t\t'>, <Block Node: content. Contents: []>, <TextNode: '\n\t\t\t\n\t\t</div>\t\t\n\t</div>\n\t'>, <Block Node: scripts. Contents: []>, <TextNode: '\n<!-- Woopra Code Start -'>, <IfNode>, <TextNode: '\n</body>\n</html>'>] |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'locations': <generator object query_to_dicts at 0x7f7caff0b5f0>, 'title': 'Таїланд — список місць', 'json_url': 'http://geosheep.co.ua/api/towns/country/Таїланд', 'center_map': 0}] |
self | <Block Node: content. Contents: []> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/template/loader_tags.py
, line 62, 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):
if not hasattr(self, 'context'):
Variable | Value |
---|---|
block | <Block Node: content. Contents: [<TextNode: '\n<h1>'>, <Variable Node: title>, <TextNode: '</h1>\n\n<!-- Map -->\n<div '>, <IfNode>, <TextNode: '\n\n<script type="text/java'>, <Variable Node: json_url>, <TextNode: '", '>, <Variable Node: center_map>, <TextNode: ');});\t</script>\n'>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7f7cb02f5040> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'locations': <generator object query_to_dicts at 0x7f7caff0b5f0>, 'title': 'Таїланд — список місць', 'json_url': 'http://geosheep.co.ua/api/towns/country/Таїланд', 'center_map': 0}] |
push | <Block Node: content. Contents: [<TextNode: '\n<h1>'>, <Variable Node: title>, <TextNode: '</h1>\n\n<!-- Map -->\n<div '>, <IfNode>, <TextNode: '\n\n<script type="text/java'>, <Variable Node: json_url>, <TextNode: '", '>, <Variable Node: center_map>, <TextNode: ');});\t</script>\n'>]> |
self | <Block Node: content. Contents: []> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | ('</h1>\n' '\n' '<!-- Map -->\n' '<div id="map_wrapper">\n' '\t<div id="map_canvas"></div>\n' '</div>\n' '<!-- /Map -->\n' '\n' "<div style='text-align:right;padding-right:30px;'>\n" "\t<a href='/tools/distance'>Підрахувати відстані між містами</a>\n" '</div>\n' '<!-- <div id="place_form">\n' '<form action="" method="post" accept-charset="utf-8">\n' '\t<input type="text" value=""/>\n' '\t<input type="submit" value="Знайти"/>\n' '</form>\n' '</div>-->\n' '\n') |
bits | ['\n<h1>', 'Таїланд — список місць', '</h1>\n' '\n' '<!-- Map -->\n' '<div id="map_wrapper">\n' '\t<div id="map_canvas"></div>\n' '</div>\n' '<!-- /Map -->\n' '\n' "<div style='text-align:right;padding-right:30px;'>\n" "\t<a href='/tools/distance'>Підрахувати відстані між містами</a>\n" '</div>\n' '<!-- <div id="place_form">\n' '<form action="" method="post" accept-charset="utf-8">\n' '\t<input type="text" value=""/>\n' '\t<input type="submit" value="Знайти"/>\n' '</form>\n' '</div>-->\n' '\n'] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'locations': <generator object query_to_dicts at 0x7f7caff0b5f0>, 'title': 'Таїланд — список місць', 'json_url': 'http://geosheep.co.ua/api/towns/country/Таїланд', 'center_map': 0}] |
node | <IfNode> |
self | [<TextNode: '\n<h1>'>, <Variable Node: title>, <TextNode: '</h1>\n\n<!-- Map -->\n<div '>, <IfNode>, <TextNode: '\n\n<script type="text/java'>, <Variable Node: json_url>, <TextNode: '", '>, <Variable Node: center_map>, <TextNode: ');});\t</script>\n'>] |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'locations': <generator object query_to_dicts at 0x7f7caff0b5f0>, 'title': 'Таїланд — список місць', 'json_url': 'http://geosheep.co.ua/api/towns/country/Таїланд', 'center_map': 0}] |
self | <IfNode> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/template/defaulttags.py
, line 312, in render
match = condition.eval(context)
except VariableDoesNotExist:
match = None
else: # else clause
match = True
if match:
return nodelist.render(context)…
return ''
class LoremNode(Node):
def __init__(self, count, method, common):
Variable | Value |
---|---|
condition | (literal <django.template.base.FilterExpression object at 0x7f7caf1cdc70>) |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'locations': <generator object query_to_dicts at 0x7f7caff0b5f0>, 'title': 'Таїланд — список місць', 'json_url': 'http://geosheep.co.ua/api/towns/country/Таїланд', 'center_map': 0}] |
match | <generator object query_to_dicts at 0x7f7caff0b5f0> |
nodelist | [<TextNode: '\t\t\n<div id="user_list">\n\t'>, <ForNode: for location in locations, tail_len: 13>, <TextNode: "\n\t\t\t<li class='clear'></d">] |
self | <IfNode> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\t\t\n<div id="user_list">\n\t<ul>\n\t\t' |
bits | ['\t\t\n<div id="user_list">\n\t<ul>\n\t\t'] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'locations': <generator object query_to_dicts at 0x7f7caff0b5f0>, 'title': 'Таїланд — список місць', 'json_url': 'http://geosheep.co.ua/api/towns/country/Таїланд', 'center_map': 0}] |
node | <ForNode: for location in locations, tail_len: 13> |
self | [<TextNode: '\t\t\n<div id="user_list">\n\t'>, <ForNode: for location in locations, tail_len: 13>, <TextNode: "\n\t\t\t<li class='clear'></d">] |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'locations': <generator object query_to_dicts at 0x7f7caff0b5f0>, 'title': 'Таїланд — список місць', 'json_url': 'http://geosheep.co.ua/api/towns/country/Таїланд', 'center_map': 0}] |
self | <ForNode: for location in locations, tail_len: 13> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/template/defaulttags.py
, line 167, in render
else:
parentloop = {}
with context.push():
values = self.sequence.resolve(context, ignore_failures=True)
if values is None:
values = []
if not hasattr(values, '__len__'):
values = list(values)…
len_values = len(values)
if len_values < 1:
return self.nodelist_empty.render(context)
nodelist = []
if self.is_reversed:
values = reversed(values)
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'locations': <generator object query_to_dicts at 0x7f7caff0b5f0>, 'title': 'Таїланд — список місць', 'json_url': 'http://geosheep.co.ua/api/towns/country/Таїланд', 'center_map': 0}] |
parentloop | {} |
self | <ForNode: for location in locations, tail_len: 13> |
values | <generator object query_to_dicts at 0x7f7caff0b5f0> |
/var/www/old_gsheep/public/gsheep/packages/proccess.py
, line 207, in query_to_dicts
def query_to_dicts(query_string, *query_args):
"""Run a simple query and produce a generator
that returns the results as a bunch of dictionaries
with keys for the column values selected.
"""
from django.db import connection
cursor = connection.cursor()
cursor.execute(query_string, query_args)…
col_names = [desc[0] for desc in cursor.description]
while True:
row = cursor.fetchone()
if row is None:
break
row_dict = dict(zip(col_names, row))
Variable | Value |
---|---|
connection | <django.db.DefaultConnectionProxy object at 0x7f7cb3de89d0> |
cursor | <django.db.backends.utils.CursorDebugWrapper object at 0x7f7cafd39730> |
query_args | () |
query_string | ('SELECT lat,lon,LocalityName,CountryName FROM gsheep_location WHERE ' "CountryName = 'Таїланд' GROUP BY LocalityName ORDER BY LocalityName") |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/db/backends/utils.py
, line 98, in execute
class CursorDebugWrapper(CursorWrapper):
# XXX callproc isn't instrumented at this time.
def execute(self, sql, params=None):
with self.debug_sql(sql, params, use_last_executed_query=True):
return super().execute(sql, params)…
def executemany(self, sql, param_list):
with self.debug_sql(sql, param_list, many=True):
return super().executemany(sql, param_list)
@contextmanager
Variable | Value |
---|---|
__class__ | <class 'django.db.backends.utils.CursorDebugWrapper'> |
params | () |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f7cafd39730> |
sql | ('SELECT lat,lon,LocalityName,CountryName FROM gsheep_location WHERE ' "CountryName = 'Таїланд' GROUP BY LocalityName ORDER BY LocalityName") |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/db/backends/utils.py
, line 66, in execute
elif kparams is None:
return self.cursor.callproc(procname, params)
else:
params = params or ()
return self.cursor.callproc(procname, params, kparams)
def execute(self, sql, params=None):
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)…
def executemany(self, sql, param_list):
return self._execute_with_wrappers(sql, param_list, many=True, executor=self._executemany)
def _execute_with_wrappers(self, sql, params, many, executor):
context = {'connection': self.db, 'cursor': self}
Variable | Value |
---|---|
params | () |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f7cafd39730> |
sql | ('SELECT lat,lon,LocalityName,CountryName FROM gsheep_location WHERE ' "CountryName = 'Таїланд' GROUP BY LocalityName ORDER BY LocalityName") |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/db/backends/utils.py
, line 75, in _execute_with_wrappers
def executemany(self, sql, param_list):
return self._execute_with_wrappers(sql, param_list, many=True, executor=self._executemany)
def _execute_with_wrappers(self, sql, params, many, executor):
context = {'connection': self.db, 'cursor': self}
for wrapper in reversed(self.db.execute_wrappers):
executor = functools.partial(wrapper, executor)
return executor(sql, params, many, context)…
def _execute(self, sql, params, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
if params is None:
# params default might be backend specific.
Variable | Value |
---|---|
context | {'connection': <django.db.backends.mysql.base.DatabaseWrapper object at 0x7f7cb35397f0>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f7cafd39730>} |
executor | <bound method CursorWrapper._execute of <django.db.backends.utils.CursorDebugWrapper object at 0x7f7cafd39730>> |
many | False |
params | () |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f7cafd39730> |
sql | ('SELECT lat,lon,LocalityName,CountryName FROM gsheep_location WHERE ' "CountryName = 'Таїланд' GROUP BY LocalityName ORDER BY LocalityName") |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/db/backends/utils.py
, line 84, in _execute
def _execute(self, sql, params, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
if params is None:
# params default might be backend specific.
return self.cursor.execute(sql)
else:
return self.cursor.execute(sql, params)…
def _executemany(self, sql, param_list, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
return self.cursor.executemany(sql, param_list)
Variable | Value |
---|---|
ignored_wrapper_args | (False, {'connection': <django.db.backends.mysql.base.DatabaseWrapper object at 0x7f7cb35397f0>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f7cafd39730>}) |
params | () |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f7cafd39730> |
sql | ('SELECT lat,lon,LocalityName,CountryName FROM gsheep_location WHERE ' "CountryName = 'Таїланд' GROUP BY LocalityName ORDER BY LocalityName") |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/db/utils.py
, line 90, in __exit__
db_exc_type = getattr(self.wrapper.Database, dj_exc_type.__name__)
if issubclass(exc_type, db_exc_type):
dj_exc_value = dj_exc_type(*exc_value.args)
# Only set the 'errors_occurred' flag for errors that may make
# the connection unusable.
if dj_exc_type not in (DataError, IntegrityError):
self.wrapper.errors_occurred = True
raise dj_exc_value.with_traceback(traceback) from exc_value…
def __call__(self, func):
# Note that we are intentionally not using @wraps here for performance
# reasons. Refs #21109.
def inner(*args, **kwargs):
with self:
Variable | Value |
---|---|
db_exc_type | <class 'MySQLdb._exceptions.OperationalError'> |
dj_exc_type | <class 'django.db.utils.OperationalError'> |
dj_exc_value | OperationalError(1055, "Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'old_gsheep.gsheep_location.lat' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by") |
exc_type | <class 'MySQLdb._exceptions.OperationalError'> |
exc_value | OperationalError(1055, "Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'old_gsheep.gsheep_location.lat' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by") |
self | <django.db.utils.DatabaseErrorWrapper object at 0x7f7cb05d8df0> |
traceback | <traceback object at 0x7f7cafdce640> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/db/backends/utils.py
, line 84, in _execute
def _execute(self, sql, params, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
if params is None:
# params default might be backend specific.
return self.cursor.execute(sql)
else:
return self.cursor.execute(sql, params)…
def _executemany(self, sql, param_list, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
return self.cursor.executemany(sql, param_list)
Variable | Value |
---|---|
ignored_wrapper_args | (False, {'connection': <django.db.backends.mysql.base.DatabaseWrapper object at 0x7f7cb35397f0>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f7cafd39730>}) |
params | () |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f7cafd39730> |
sql | ('SELECT lat,lon,LocalityName,CountryName FROM gsheep_location WHERE ' "CountryName = 'Таїланд' GROUP BY LocalityName ORDER BY LocalityName") |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/django/db/backends/mysql/base.py
, line 73, in execute
def __init__(self, cursor):
self.cursor = cursor
def execute(self, query, args=None):
try:
# args is None means no string interpolation
return self.cursor.execute(query, args)…
except Database.OperationalError as e:
# Map some error codes to IntegrityError, since they seem to be
# misclassified and Django would prefer the more logical place.
if e.args[0] in self.codes_for_integrityerror:
raise IntegrityError(*tuple(e.args))
raise
Variable | Value |
---|---|
args | () |
query | ('SELECT lat,lon,LocalityName,CountryName FROM gsheep_location WHERE ' "CountryName = 'Таїланд' GROUP BY LocalityName ORDER BY LocalityName") |
self | <django.db.backends.mysql.base.CursorWrapper object at 0x7f7caf9cf310> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/MySQLdb/cursors.py
, line 206, in execute
args = tuple(map(db.literal, args))
try:
query = query % args
except TypeError as m:
raise ProgrammingError(str(m))
assert isinstance(query, (bytes, bytearray))
res = self._query(query)…
return res
def executemany(self, query, args):
# type: (str, list) -> int
"""Execute a multi-row query.
Variable | Value |
---|---|
args | () |
db | <_mysql.connection open to 'localhost' at 0x2156430> |
query | (b'SELECT lat,lon,LocalityName,CountryName FROM gsheep_location WHERE CountryNa' b"me = '\xd0\xa2\xd0\xb0\xd1\x97\xd0\xbb\xd0\xb0\xd0\xbd\xd0\xb4' GROUP BY L" b'ocalityName ORDER BY LocalityName') |
self | <MySQLdb.cursors.Cursor object at 0x7f7caf9cf3a0> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/MySQLdb/cursors.py
, line 319, in _query
)
self._query(q)
return args
def _query(self, q):
db = self._get_db()
self._result = None
db.query(q)…
self._do_get_result(db)
self._post_get_result()
self._executed = q
return self.rowcount
def _fetch_row(self, size=1):
Variable | Value |
---|---|
db | <_mysql.connection open to 'localhost' at 0x2156430> |
q | (b'SELECT lat,lon,LocalityName,CountryName FROM gsheep_location WHERE CountryNa' b"me = '\xd0\xa2\xd0\xb0\xd1\x97\xd0\xbb\xd0\xb0\xd0\xbd\xd0\xb4' GROUP BY L" b'ocalityName ORDER BY LocalityName') |
self | <MySQLdb.cursors.Cursor object at 0x7f7caf9cf3a0> |
/home/mee/.local/share/virtualenvs/public-lgrvgRr2/lib/python3.8/site-packages/MySQLdb/connections.py
, line 259, in query
"""
return (cursorclass or self.cursorclass)(self)
def query(self, query):
# Since _mysql releases GIL while querying, we need immutable buffer.
if isinstance(query, bytearray):
query = bytes(query)
_mysql.connection.query(self, query)…
def _bytes_literal(self, bs):
assert isinstance(bs, (bytes, bytearray))
x = self.string_literal(bs) # x is escaped and quoted bytes
if self._binary_prefix:
return b"_binary" + x
Variable | Value |
---|---|
query | (b'SELECT lat,lon,LocalityName,CountryName FROM gsheep_location WHERE CountryNa' b"me = '\xd0\xa2\xd0\xb0\xd1\x97\xd0\xbb\xd0\xb0\xd0\xbd\xd0\xb4' GROUP BY L" b'ocalityName ORDER BY LocalityName') |
self | <_mysql.connection open to 'localhost' at 0x2156430> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_HOST | 'geosheep.co.ua' |
HTTP_REFERER | 'http://geosheep.co.ua/place/country/%D0%A2%D0%B0%D1%97%D0%BB%D0%B0%D0%BD%D0%B4' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '44.212.50.220' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_REAL_IP | '44.212.50.220' |
PATH_INFO | '/place/country/Таїланд' |
QUERY_STRING | '' |
RAW_URI | '/place/country/%D0%A2%D0%B0%D1%97%D0%BB%D0%B0%D0%BD%D0%B4' |
REMOTE_ADDR | '127.0.0.1' |
REMOTE_PORT | '49952' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | '127.0.0.1' |
SERVER_PORT | '8000' |
SERVER_PROTOCOL | 'HTTP/1.0' |
SERVER_SOFTWARE | 'gunicorn/20.0.4' |
gunicorn.socket | <socket.socket fd=9, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 8000), raddr=('127.0.0.1', 49952)> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f7cb00f4670> |
wsgi.file_wrapper | <class 'gunicorn.http.wsgi.FileWrapper'> |
wsgi.input | <gunicorn.http.body.Body object at 0x7f7cb031d4f0> |
wsgi.input_terminated | True |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['geosheep.co.ua'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 60 |
CONSUMER_KEY | '********************' |
CONSUMER_SECRET | '********************' |
CON_SECRET | '********************' |
CON_SECRET_KEY | '********************' |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_COOKIE_PATH | '/' |
CSRF_COOKIE_SAMESITE | 'Lax' |
CSRF_COOKIE_SECURE | False |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
CSRF_TRUSTED_ORIGINS | [] |
CSRF_USE_SESSIONS | False |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'HOSTNAME': '127.0.0.1', 'NAME': 'old_gsheep', 'OPTIONS': {'charset': 'utf8mb4', 'use_unicode': True}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'gsheep'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M'] |
DATE_FORMAT | 'N j, Y' |
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'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_EXCEPTION_REPORTER | 'django.views.debug.ExceptionReporter' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
DEFAULT_HASHING_ALGORITHM | 'sha256' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'localhost' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | '' |
EMAIL_PORT | 25 |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | '********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_TIMEOUT | None |
EMAIL_USE_LOCALTIME | False |
EMAIL_USE_SSL | False |
EMAIL_USE_TLS | False |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | 420 |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
GOOGLE_KEY | '********************' |
GOOGLE_LOCAL_KEY | '********************' |
GOOGLE_MAPS_KEY | '********************' |
GOWALLA_KEY | '********************' |
GSHEEP_PASSWORD | '********************' |
GSHEEP_USERNAME | 'gsheep' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ('django.contrib.admin', 'django.contrib.contenttypes', 'django.contrib.auth', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'gsheep', 'django.contrib.sitemaps', 'django.contrib.staticfiles') |
INTERNAL_IPS | ('127.0.0.1', '176.37.204.31') |
LANGUAGES | [('uk', 'Ukrainian')] |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'fa', 'ur'] |
LANGUAGE_CODE | 'uk' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_HTTPONLY | False |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LANGUAGE_COOKIE_SAMESITE | None |
LANGUAGE_COOKIE_SECURE | False |
LOCALE_PATHS | [] |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | '/home/old_gsheep/public/gsheep/templates/media/' |
MEDIA_URL | '/media/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware') |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
ROOT_URLCONF | 'urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | True |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SAMESITE | 'Lax' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
SITE_ID | 2 |
STATICFILES_DIRS | [] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/home/old_gsheep/public/gsheep/templates/static/' |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/home/old_gsheep/public/gsheep/templates/'], 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth', 'django.template.context_processors.static', 'django.template.context_processors.debug', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.tz', 'django.contrib.messages.context_processors.messages']}}] |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THOUSAND_SEPARATOR | ',' |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'America/Chicago' |
TOKEN | '********************' |
TOKEN_KEY | '********************' |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | False |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | None |
X_FRAME_OPTIONS | 'DENY' |
YEAR_MONTH_FORMAT | 'F Y' |
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 page generated by the handler for this status code.