(2006, 'MySQL server has gone away')
Request Method: | GET |
---|---|
Request URL: | https://class.posot.es/segunda-mano-gimbal-bolsa-storage-hand-bolsa-caso-accesoriosdescripcionmodelo-almacenamiento-bolsa-para-funsnap-capture/ |
Django Version: | 3.1.5 |
Exception Type: | OperationalError |
Exception Value: | (2006, 'MySQL server has gone away') |
Exception Location: | /home/web/env/pro/lib64/python3.6/site-packages/MySQLdb/connections.py, line 259, in query |
Python Executable: | /home/web/env/pro/bin/uwsgi |
Python Version: | 3.6.8 |
Python Path: | ['/home/web/pro/class_es_es/', '.', '', '/usr/lib64/python36.zip', '/usr/lib64/python3.6', '/usr/lib64/python3.6/lib-dynload', '/home/web/env/pro/lib64/python3.6/site-packages', '/home/web/env/pro/lib/python3.6/site-packages'] |
Server time: | Thu, 28 Mar 2024 21:04:22 +0100 |
/home/web/env/pro/lib/python3.6/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 0x7f332b492f98>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150cada0>}) |
params | ('gimbal bolsa storage hand bolsa caso accesoriosdescripcionmodelo ' 'almacenamiento bolsa para funsnap capture',) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150cada0> |
sql | ('SELECT `offer_topsearches`.`id`, `offer_topsearches`.`tag` FROM ' '`offer_topsearches` WHERE `offer_topsearches`.`tag` = %s LIMIT 21') |
/home/web/env/pro/lib/python3.6/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 | ('gimbal bolsa storage hand bolsa caso accesoriosdescripcionmodelo ' 'almacenamiento bolsa para funsnap capture',) |
query | ('SELECT `offer_topsearches`.`id`, `offer_topsearches`.`tag` FROM ' '`offer_topsearches` WHERE `offer_topsearches`.`tag` = %s LIMIT 21') |
self | <django.db.backends.mysql.base.CursorWrapper object at 0x7f33150caef0> |
/home/web/env/pro/lib64/python3.6/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 | (b"'gimbal bolsa storage hand bolsa caso accesoriosdescripcionmodelo almacenami" b"ento bolsa para funsnap capture'",) |
db | <_mysql.connection open to 'localhost' at 0xe5d8b8> |
query | (b'SELECT `offer_topsearches`.`id`, `offer_topsearches`.`tag` FROM `offer_topse' b"arches` WHERE `offer_topsearches`.`tag` = 'gimbal bolsa storage hand bolsa c" b"aso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture' L" b'IMIT 21') |
self | <MySQLdb.cursors.Cursor object at 0x7f33150caf60> |
/home/web/env/pro/lib64/python3.6/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 0xe5d8b8> |
q | (b'SELECT `offer_topsearches`.`id`, `offer_topsearches`.`tag` FROM `offer_topse' b"arches` WHERE `offer_topsearches`.`tag` = 'gimbal bolsa storage hand bolsa c" b"aso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture' L" b'IMIT 21') |
self | <MySQLdb.cursors.Cursor object at 0x7f33150caf60> |
/home/web/env/pro/lib64/python3.6/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 `offer_topsearches`.`id`, `offer_topsearches`.`tag` FROM `offer_topse' b"arches` WHERE `offer_topsearches`.`tag` = 'gimbal bolsa storage hand bolsa c" b"aso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture' L" b'IMIT 21') |
self | <_mysql.connection open to 'localhost' at 0xe5d8b8> |
/home/web/pro/class_es_es/offer/views.py
, line 331, in search
if top_searches_dict[settings.LOCALE]:
try:
#print("SEARCH_TERM",search_term)
st = re.sub("-+","-",search_term)
st = st.replace("-"," ")
#print("ST",st)
ts_ent = TopSearches.objects.get(tag = st)…
if search_term != slugify_plus(ts_ent.tag):
return HttpResponsePermanentRedirect("/{0}-{1}/".format(settings.URL_COMPLETION, slugify_plus(ts_ent.tag)))
except Exception as e:
st = search_term.replace("-"," ")
st = st.replace('"',"")
print("No existe la TS en topsearches: ",e)
Variable | Value |
---|---|
page | 1 |
q | ('SELECT * FROM offer_topsearches WHERE tag != "gimbal bolsa storage hand ' 'bolsa caso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap ' 'capture" AND MATCH (tag) AGAINST ("gimbal bolsa storage hand bolsa caso ' 'accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture") ' 'LIMIT 1') |
request | <WSGIRequest: GET '/segunda-mano-gimbal-bolsa-storage-hand-bolsa-caso-accesoriosdescripcionmodelo-almacenamiento-bolsa-para-funsnap-capture/'> |
search_term | 'gimbal-bolsa-storage-hand-bolsa-caso-accesoriosdescripcionmodelo-almacenamiento-bolsa-para-funsnap-capture' |
st | ('gimbal bolsa storage hand bolsa caso accesoriosdescripcionmodelo ' 'almacenamiento bolsa para funsnap capture') |
/home/web/env/pro/lib/python3.6/site-packages/django/db/models/manager.py
, line 85, in manager_method
def check(self, **kwargs):
return []
@classmethod
def _get_queryset_methods(cls, queryset_class):
def create_method(name, method):
def manager_method(self, *args, **kwargs):
return getattr(self.get_queryset(), name)(*args, **kwargs)…
manager_method.__name__ = method.__name__
manager_method.__doc__ = method.__doc__
return manager_method
new_methods = {}
for name, method in inspect.getmembers(queryset_class, predicate=inspect.isfunction):
Variable | Value |
---|---|
args | () |
kwargs | {'tag': 'gimbal bolsa storage hand bolsa caso accesoriosdescripcionmodelo ' 'almacenamiento bolsa para funsnap capture'} |
name | 'get' |
self | <django.db.models.manager.Manager object at 0x7f3328248a20> |
/home/web/env/pro/lib/python3.6/site-packages/django/db/models/query.py
, line 425, in get
clone = self._chain() if self.query.combinator else self.filter(*args, **kwargs)
if self.query.can_filter() and not self.query.distinct_fields:
clone = clone.order_by()
limit = None
if not clone.query.select_for_update or connections[clone.db].features.supports_select_for_update_with_limit:
limit = MAX_GET_RESULTS
clone.query.set_limits(high=limit)
num = len(clone)…
if num == 1:
return clone._result_cache[0]
if not num:
raise self.model.DoesNotExist(
"%s matching query does not exist." %
self.model._meta.object_name
Variable | Value |
---|---|
args | () |
clone | Error in formatting: OperationalError: (2006, 'MySQL server has gone away') |
kwargs | {'tag': 'gimbal bolsa storage hand bolsa caso accesoriosdescripcionmodelo ' 'almacenamiento bolsa para funsnap capture'} |
limit | 21 |
self | Error in formatting: OperationalError: (2006, 'MySQL server has gone away') |
/home/web/env/pro/lib/python3.6/site-packages/django/db/models/query.py
, line 269, in __len__
def __repr__(self):
data = list(self[:REPR_OUTPUT_SIZE + 1])
if len(data) > REPR_OUTPUT_SIZE:
data[-1] = "...(remaining elements truncated)..."
return '<%s %r>' % (self.__class__.__name__, data)
def __len__(self):
self._fetch_all()…
return len(self._result_cache)
def __iter__(self):
"""
The queryset iterator protocol uses three nested iterators in the
default case:
Variable | Value |
---|---|
self | Error in formatting: OperationalError: (2006, 'MySQL server has gone away') |
/home/web/env/pro/lib/python3.6/site-packages/django/db/models/query.py
, line 1308, in _fetch_all
c._known_related_objects = self._known_related_objects
c._iterable_class = self._iterable_class
c._fields = self._fields
return c
def _fetch_all(self):
if self._result_cache is None:
self._result_cache = list(self._iterable_class(self))…
if self._prefetch_related_lookups and not self._prefetch_done:
self._prefetch_related_objects()
def _next_is_sticky(self):
"""
Indicate that the next filter call and the one following that should
Variable | Value |
---|---|
self | Error in formatting: OperationalError: (2006, 'MySQL server has gone away') |
/home/web/env/pro/lib/python3.6/site-packages/django/db/models/query.py
, line 53, in __iter__
def __iter__(self):
queryset = self.queryset
db = queryset.db
compiler = queryset.query.get_compiler(using=db)
# Execute the query. This will also fill compiler.select, klass_info,
# and annotations.
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)…
select, klass_info, annotation_col_map = (compiler.select, compiler.klass_info,
compiler.annotation_col_map)
model_cls = klass_info['model']
select_fields = klass_info['select_fields']
model_fields_start, model_fields_end = select_fields[0], select_fields[-1] + 1
init_list = [f[0].target.attname
Variable | Value |
---|---|
compiler | <django.db.backends.mysql.compiler.SQLCompiler object at 0x7f33150ca710> |
db | 'default' |
queryset | Error in formatting: OperationalError: (2006, 'MySQL server has gone away') |
self | <django.db.models.query.ModelIterable object at 0x7f33150ca518> |
/home/web/env/pro/lib/python3.6/site-packages/django/db/models/sql/compiler.py
, line 1156, in execute_sql
else:
return
if chunked_fetch:
cursor = self.connection.chunked_cursor()
else:
cursor = self.connection.cursor()
try:
cursor.execute(sql, params)…
except Exception:
# Might fail for server-side cursors (e.g. connection closed)
cursor.close()
raise
if result_type == CURSOR:
Variable | Value |
---|---|
chunk_size | 100 |
chunked_fetch | False |
cursor | <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150cada0> |
params | ('gimbal bolsa storage hand bolsa caso accesoriosdescripcionmodelo ' 'almacenamiento bolsa para funsnap capture',) |
result_type | 'multi' |
self | <django.db.backends.mysql.compiler.SQLCompiler object at 0x7f33150ca710> |
sql | ('SELECT `offer_topsearches`.`id`, `offer_topsearches`.`tag` FROM ' '`offer_topsearches` WHERE `offer_topsearches`.`tag` = %s LIMIT 21') |
/home/web/env/pro/lib/python3.6/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 | ('gimbal bolsa storage hand bolsa caso accesoriosdescripcionmodelo ' 'almacenamiento bolsa para funsnap capture',) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150cada0> |
sql | ('SELECT `offer_topsearches`.`id`, `offer_topsearches`.`tag` FROM ' '`offer_topsearches` WHERE `offer_topsearches`.`tag` = %s LIMIT 21') |
/home/web/env/pro/lib/python3.6/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 | ('gimbal bolsa storage hand bolsa caso accesoriosdescripcionmodelo ' 'almacenamiento bolsa para funsnap capture',) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150cada0> |
sql | ('SELECT `offer_topsearches`.`id`, `offer_topsearches`.`tag` FROM ' '`offer_topsearches` WHERE `offer_topsearches`.`tag` = %s LIMIT 21') |
/home/web/env/pro/lib/python3.6/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 0x7f332b492f98>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150cada0>} |
executor | <bound method CursorWrapper._execute of <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150cada0>> |
many | False |
params | ('gimbal bolsa storage hand bolsa caso accesoriosdescripcionmodelo ' 'almacenamiento bolsa para funsnap capture',) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150cada0> |
sql | ('SELECT `offer_topsearches`.`id`, `offer_topsearches`.`tag` FROM ' '`offer_topsearches` WHERE `offer_topsearches`.`tag` = %s LIMIT 21') |
/home/web/env/pro/lib/python3.6/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 0x7f332b492f98>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150cada0>}) |
params | ('gimbal bolsa storage hand bolsa caso accesoriosdescripcionmodelo ' 'almacenamiento bolsa para funsnap capture',) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150cada0> |
sql | ('SELECT `offer_topsearches`.`id`, `offer_topsearches`.`tag` FROM ' '`offer_topsearches` WHERE `offer_topsearches`.`tag` = %s LIMIT 21') |
/home/web/env/pro/lib/python3.6/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(2013, 'Lost connection to MySQL server during query') |
exc_type | <class 'MySQLdb._exceptions.OperationalError'> |
exc_value | OperationalError(2013, 'Lost connection to MySQL server during query') |
self | <django.db.utils.DatabaseErrorWrapper object at 0x7f3327f973c8> |
traceback | <traceback object at 0x7f3324ded548> |
/home/web/env/pro/lib/python3.6/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 0x7f332b492f98>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150cada0>}) |
params | ('gimbal bolsa storage hand bolsa caso accesoriosdescripcionmodelo ' 'almacenamiento bolsa para funsnap capture',) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150cada0> |
sql | ('SELECT `offer_topsearches`.`id`, `offer_topsearches`.`tag` FROM ' '`offer_topsearches` WHERE `offer_topsearches`.`tag` = %s LIMIT 21') |
/home/web/env/pro/lib/python3.6/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 | ('gimbal bolsa storage hand bolsa caso accesoriosdescripcionmodelo ' 'almacenamiento bolsa para funsnap capture',) |
query | ('SELECT `offer_topsearches`.`id`, `offer_topsearches`.`tag` FROM ' '`offer_topsearches` WHERE `offer_topsearches`.`tag` = %s LIMIT 21') |
self | <django.db.backends.mysql.base.CursorWrapper object at 0x7f33150caef0> |
/home/web/env/pro/lib64/python3.6/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 | (b"'gimbal bolsa storage hand bolsa caso accesoriosdescripcionmodelo almacenami" b"ento bolsa para funsnap capture'",) |
db | <_mysql.connection open to 'localhost' at 0xe5d8b8> |
query | (b'SELECT `offer_topsearches`.`id`, `offer_topsearches`.`tag` FROM `offer_topse' b"arches` WHERE `offer_topsearches`.`tag` = 'gimbal bolsa storage hand bolsa c" b"aso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture' L" b'IMIT 21') |
self | <MySQLdb.cursors.Cursor object at 0x7f33150caf60> |
/home/web/env/pro/lib64/python3.6/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 0xe5d8b8> |
q | (b'SELECT `offer_topsearches`.`id`, `offer_topsearches`.`tag` FROM `offer_topse' b"arches` WHERE `offer_topsearches`.`tag` = 'gimbal bolsa storage hand bolsa c" b"aso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture' L" b'IMIT 21') |
self | <MySQLdb.cursors.Cursor object at 0x7f33150caf60> |
/home/web/env/pro/lib64/python3.6/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 `offer_topsearches`.`id`, `offer_topsearches`.`tag` FROM `offer_topse' b"arches` WHERE `offer_topsearches`.`tag` = 'gimbal bolsa storage hand bolsa c" b"aso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture' L" b'IMIT 21') |
self | <_mysql.connection open to 'localhost' at 0xe5d8b8> |
/home/web/env/pro/lib/python3.6/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 0x7f332b492f98>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150ca6a0>}) |
params | () |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150ca6a0> |
sql | ('SELECT * FROM offer_topsearches WHERE tag != "gimbal bolsa storage hand ' 'bolsa caso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap ' 'capture" AND MATCH (tag) AGAINST ("gimbal bolsa storage hand bolsa caso ' 'accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture") ' 'LIMIT 1') |
/home/web/env/pro/lib/python3.6/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 * FROM offer_topsearches WHERE tag != "gimbal bolsa storage hand ' 'bolsa caso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap ' 'capture" AND MATCH (tag) AGAINST ("gimbal bolsa storage hand bolsa caso ' 'accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture") ' 'LIMIT 1') |
self | <django.db.backends.mysql.base.CursorWrapper object at 0x7f33150caeb8> |
/home/web/env/pro/lib64/python3.6/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 0xe5d8b8> |
query | (b'SELECT * FROM offer_topsearches WHERE tag != "gimbal bolsa storage hand bols' b'a caso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture' b'" AND MATCH (tag) AGAINST ("gimbal bolsa storage hand bolsa caso accesorios' b'descripcionmodelo almacenamiento bolsa para funsnap capture") LIMIT 1') |
self | <MySQLdb.cursors.Cursor object at 0x7f33150cac50> |
/home/web/env/pro/lib64/python3.6/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 0xe5d8b8> |
q | (b'SELECT * FROM offer_topsearches WHERE tag != "gimbal bolsa storage hand bols' b'a caso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture' b'" AND MATCH (tag) AGAINST ("gimbal bolsa storage hand bolsa caso accesorios' b'descripcionmodelo almacenamiento bolsa para funsnap capture") LIMIT 1') |
self | <MySQLdb.cursors.Cursor object at 0x7f33150cac50> |
/home/web/env/pro/lib64/python3.6/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 * FROM offer_topsearches WHERE tag != "gimbal bolsa storage hand bols' b'a caso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture' b'" AND MATCH (tag) AGAINST ("gimbal bolsa storage hand bolsa caso accesorios' b'descripcionmodelo almacenamiento bolsa para funsnap capture") LIMIT 1') |
self | <_mysql.connection open to 'localhost' at 0xe5d8b8> |
/home/web/env/pro/lib/python3.6/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(2006, 'MySQL server has gone away') |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f332a045128>> |
request | <WSGIRequest: GET '/segunda-mano-gimbal-bolsa-storage-hand-bolsa-caso-accesoriosdescripcionmodelo-almacenamiento-bolsa-para-funsnap-capture/'> |
/home/web/env/pro/lib/python3.6/site-packages/django/core/handlers/base.py
, line 181, 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 search at 0x7f33280efea0> |
callback_args | () |
callback_kwargs | {'search_term': 'gimbal-bolsa-storage-hand-bolsa-caso-accesoriosdescripcionmodelo-almacenamiento-bolsa-para-funsnap-capture'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f332823f400>> |
request | <WSGIRequest: GET '/segunda-mano-gimbal-bolsa-storage-hand-bolsa-caso-accesoriosdescripcionmodelo-almacenamiento-bolsa-para-funsnap-capture/'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f332a045128> |
wrapped_callback | <function search at 0x7f33280efea0> |
/home/web/pro/class_es_es/offer/views.py
, line 340, in search
return HttpResponsePermanentRedirect("/{0}-{1}/".format(settings.URL_COMPLETION, slugify_plus(ts_ent.tag)))
except Exception as e:
st = search_term.replace("-"," ")
st = st.replace('"',"")
print("No existe la TS en topsearches: ",e)
#ts_relevance = search_topsearches(settings.LOCALE,search_term,category="",limit=2)
q = u'''SELECT * FROM offer_topsearches WHERE tag != "{0}" AND MATCH (tag) AGAINST ("{0}") LIMIT 1'''.format(st)
ts_relevance = mysql_custom_query(q)…
for ts in ts_relevance:
#print("TSTAG",ts['tag'])
#print("SEARCH_TERM",search_term)
#print("ST",st)
#print("spts",slugify_plus(ts['tag']))
Variable | Value |
---|---|
page | 1 |
q | ('SELECT * FROM offer_topsearches WHERE tag != "gimbal bolsa storage hand ' 'bolsa caso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap ' 'capture" AND MATCH (tag) AGAINST ("gimbal bolsa storage hand bolsa caso ' 'accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture") ' 'LIMIT 1') |
request | <WSGIRequest: GET '/segunda-mano-gimbal-bolsa-storage-hand-bolsa-caso-accesoriosdescripcionmodelo-almacenamiento-bolsa-para-funsnap-capture/'> |
search_term | 'gimbal-bolsa-storage-hand-bolsa-caso-accesoriosdescripcionmodelo-almacenamiento-bolsa-para-funsnap-capture' |
st | ('gimbal bolsa storage hand bolsa caso accesoriosdescripcionmodelo ' 'almacenamiento bolsa para funsnap capture') |
/home/web/pro/class_es_es/offer/views.py
, line 236, in mysql_custom_query
def mysql_custom_query(q, params=()):
from django.db import connection
"""
Executes a custom query and returns the result as a dictionary
"""
cursor = connection.cursor()
cursor.execute(q, params)…
desc = cursor.description
return [dict(zip([col[0] for col in desc], row)) for row in cursor.fetchall()]
def index(request):
if request.method == 'POST':
search_form = SearchForm(request.POST)
Variable | Value |
---|---|
connection | <django.db.DefaultConnectionProxy object at 0x7f332b738d30> |
cursor | <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150ca6a0> |
params | () |
q | ('SELECT * FROM offer_topsearches WHERE tag != "gimbal bolsa storage hand ' 'bolsa caso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap ' 'capture" AND MATCH (tag) AGAINST ("gimbal bolsa storage hand bolsa caso ' 'accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture") ' 'LIMIT 1') |
/home/web/env/pro/lib/python3.6/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 0x7f33150ca6a0> |
sql | ('SELECT * FROM offer_topsearches WHERE tag != "gimbal bolsa storage hand ' 'bolsa caso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap ' 'capture" AND MATCH (tag) AGAINST ("gimbal bolsa storage hand bolsa caso ' 'accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture") ' 'LIMIT 1') |
/home/web/env/pro/lib/python3.6/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 0x7f33150ca6a0> |
sql | ('SELECT * FROM offer_topsearches WHERE tag != "gimbal bolsa storage hand ' 'bolsa caso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap ' 'capture" AND MATCH (tag) AGAINST ("gimbal bolsa storage hand bolsa caso ' 'accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture") ' 'LIMIT 1') |
/home/web/env/pro/lib/python3.6/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 0x7f332b492f98>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150ca6a0>} |
executor | <bound method CursorWrapper._execute of <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150ca6a0>> |
many | False |
params | () |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150ca6a0> |
sql | ('SELECT * FROM offer_topsearches WHERE tag != "gimbal bolsa storage hand ' 'bolsa caso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap ' 'capture" AND MATCH (tag) AGAINST ("gimbal bolsa storage hand bolsa caso ' 'accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture") ' 'LIMIT 1') |
/home/web/env/pro/lib/python3.6/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 0x7f332b492f98>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150ca6a0>}) |
params | () |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150ca6a0> |
sql | ('SELECT * FROM offer_topsearches WHERE tag != "gimbal bolsa storage hand ' 'bolsa caso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap ' 'capture" AND MATCH (tag) AGAINST ("gimbal bolsa storage hand bolsa caso ' 'accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture") ' 'LIMIT 1') |
/home/web/env/pro/lib/python3.6/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(2006, 'MySQL server has gone away') |
exc_type | <class 'MySQLdb._exceptions.OperationalError'> |
exc_value | OperationalError(2006, 'MySQL server has gone away') |
self | <django.db.utils.DatabaseErrorWrapper object at 0x7f3327f973c8> |
traceback | <traceback object at 0x7f3313a151c8> |
/home/web/env/pro/lib/python3.6/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 0x7f332b492f98>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150ca6a0>}) |
params | () |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f33150ca6a0> |
sql | ('SELECT * FROM offer_topsearches WHERE tag != "gimbal bolsa storage hand ' 'bolsa caso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap ' 'capture" AND MATCH (tag) AGAINST ("gimbal bolsa storage hand bolsa caso ' 'accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture") ' 'LIMIT 1') |
/home/web/env/pro/lib/python3.6/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 * FROM offer_topsearches WHERE tag != "gimbal bolsa storage hand ' 'bolsa caso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap ' 'capture" AND MATCH (tag) AGAINST ("gimbal bolsa storage hand bolsa caso ' 'accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture") ' 'LIMIT 1') |
self | <django.db.backends.mysql.base.CursorWrapper object at 0x7f33150caeb8> |
/home/web/env/pro/lib64/python3.6/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 0xe5d8b8> |
query | (b'SELECT * FROM offer_topsearches WHERE tag != "gimbal bolsa storage hand bols' b'a caso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture' b'" AND MATCH (tag) AGAINST ("gimbal bolsa storage hand bolsa caso accesorios' b'descripcionmodelo almacenamiento bolsa para funsnap capture") LIMIT 1') |
self | <MySQLdb.cursors.Cursor object at 0x7f33150cac50> |
/home/web/env/pro/lib64/python3.6/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 0xe5d8b8> |
q | (b'SELECT * FROM offer_topsearches WHERE tag != "gimbal bolsa storage hand bols' b'a caso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture' b'" AND MATCH (tag) AGAINST ("gimbal bolsa storage hand bolsa caso accesorios' b'descripcionmodelo almacenamiento bolsa para funsnap capture") LIMIT 1') |
self | <MySQLdb.cursors.Cursor object at 0x7f33150cac50> |
/home/web/env/pro/lib64/python3.6/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 * FROM offer_topsearches WHERE tag != "gimbal bolsa storage hand bols' b'a caso accesoriosdescripcionmodelo almacenamiento bolsa para funsnap capture' b'" AND MATCH (tag) AGAINST ("gimbal bolsa storage hand bolsa caso accesorios' b'descripcionmodelo almacenamiento bolsa para funsnap capture") LIMIT 1') |
self | <_mysql.connection open to 'localhost' at 0xe5d8b8> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
CONTENT_LENGTH | '' |
CONTENT_TYPE | '' |
DOCUMENT_ROOT | '/usr/share/nginx/html' |
HTTPS | 'on' |
HTTP_ACCEPT | '*/*' |
HTTP_HOST | 'class.posot.es' |
HTTP_USER_AGENT | 'claudebot' |
PATH_INFO | '/segunda-mano-gimbal-bolsa-storage-hand-bolsa-caso-accesoriosdescripcionmodelo-almacenamiento-bolsa-para-funsnap-capture/' |
QUERY_STRING | '' |
REMOTE_ADDR | '35.173.233.176' |
REMOTE_PORT | '33530' |
REQUEST_METHOD | 'GET' |
REQUEST_SCHEME | 'https' |
REQUEST_URI | '/segunda-mano-gimbal-bolsa-storage-hand-bolsa-caso-accesoriosdescripcionmodelo-almacenamiento-bolsa-para-funsnap-capture/' |
SCRIPT_NAME | '' |
SERVER_NAME | 'class.posot.es' |
SERVER_PORT | '443' |
SERVER_PROTOCOL | 'HTTP/1.1' |
uwsgi.node | b'ns3182997' |
uwsgi.version | b'2.0.1' |
wsgi.errors | <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'> |
wsgi.file_wrapper | <built-in function uwsgi_sendfile> |
wsgi.input | <uwsgi._Input object at 0x7f3328254a80> |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
classi.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | () |
ALLOWED_HOSTS | ['class.posot.es'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | '/home/web/pro/class_es_es' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
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 | {'de_de': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'NAME': 'class_de_de', 'OPTIONS': {'charset': 'utf8mb4', 'init_command': 'SET default_storage_engine=MYISAM'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'admin'}, 'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'NAME': 'class_es_es', 'OPTIONS': {'charset': 'utf8mb4', 'init_command': 'SET default_storage_engine=MYISAM'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'admin'}, 'en_ca': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'NAME': 'class_en_ca', 'OPTIONS': {'charset': 'utf8mb4', 'init_command': 'SET default_storage_engine=MYISAM'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'admin'}, 'en_gb': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'NAME': 'class_en_gb', 'OPTIONS': {'charset': 'utf8mb4', 'init_command': 'SET default_storage_engine=MYISAM'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'admin'}, 'en_in': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'NAME': 'class_en_in', 'OPTIONS': {'charset': 'utf8mb4', 'init_command': 'SET default_storage_engine=MYISAM'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'admin'}, 'es_ar': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'NAME': 'class_es_ar', 'OPTIONS': {'charset': 'utf8mb4', 'init_command': 'SET default_storage_engine=MYISAM'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'admin'}, 'es_co': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'NAME': 'class_es_co', 'OPTIONS': {'charset': 'utf8mb4', 'init_command': 'SET default_storage_engine=MYISAM'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'admin'}, 'es_es': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'NAME': 'class_es_es', 'OPTIONS': {'charset': 'utf8mb4', 'init_command': 'SET default_storage_engine=MYISAM'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'admin'}, 'es_mx': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'NAME': 'class_es_mx', 'OPTIONS': {'charset': 'utf8mb4', 'init_command': 'SET default_storage_engine=MYISAM'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'admin'}, 'es_pe': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'NAME': 'class_es_pe', 'OPTIONS': {'charset': 'utf8mb4', 'init_command': 'SET default_storage_engine=MYISAM'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'admin'}, 'es_ve': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'NAME': 'class_es_ve', 'OPTIONS': {'charset': 'utf8mb4', 'init_command': 'SET default_storage_engine=MYISAM'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'admin'}, 'fr_fr': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'NAME': 'class_fr_fr', 'OPTIONS': {'charset': 'utf8mb4', 'init_command': 'SET default_storage_engine=MYISAM'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'admin'}, 'it_it': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'NAME': 'class_it_it', 'OPTIONS': {'charset': 'utf8mb4', 'init_command': 'SET default_storage_engine=MYISAM'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'admin'}, 'pt_br': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'NAME': 'class_pt_br', 'OPTIONS': {'charset': 'utf8mb4', 'init_command': 'SET default_storage_engine=MYISAM'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'admin'}, 'pt_pt': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'NAME': 'class_pt_pt', 'OPTIONS': {'charset': 'utf8mb4', 'init_command': 'SET default_storage_engine=MYISAM'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'admin'}} |
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' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.admin', 'offer') |
INTERNAL_IPS | [] |
LANGUAGES | (('es-es', ''),) |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'fa', 'ur'] |
LANGUAGE_CODE | 'es-es' |
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 | 'es_es' |
LOCALE_PATHS | [] |
LOGGING | {'disable_existing_loggers': False, 'filters': {'require_debug_false': {'()': 'django.utils.log.RequireDebugFalse'}}, 'formatters': {'simple': {'format': '%(levelname)s %(message)s'}, 'verbose': {'format': '%(asctime)s %(module)s %(funcName)s ' '%(message)s'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'formatter': 'verbose', 'level': 'DEBUG'}, 'mail_admins': {'class': 'django.utils.log.AdminEmailHandler', 'filters': ['require_debug_false'], 'level': 'ERROR'}}, 'loggers': {'django.request': {'handlers': ['console'], 'level': 'ERROR', 'propagate': True}}, 'version': 1} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGO | '/static/img/logo_es.png' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | () |
MEDIA_ROOT | '/datos/class/pics/es_es/' |
MEDIA_URL | 'https://img.class.posot.es/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
ROOT_URLCONF | 'classi.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 | 'classi.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 | 1 |
STATICFILES_DIRS | () |
STATICFILES_FINDERS | ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder') |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/home/web/pro/class_es_es/static/' |
STATIC_URL | 'https://class.posot.es/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/home/web/pro/class_es_es/templates'], 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'offer.context.common_data']}}] |
TEMPLATE_DEBUG | True |
TEMPLATE_LOADERS | ('django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader') |
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 | 'Europe/Madrid' |
URL_COMPLETION | 'segunda-mano-' |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'classi.wsgi.application' |
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.