(1146, "Table 'aliweb.jdshops' doesn't exist")
Request Method: | GET |
---|---|
Request URL: | http://www.2uq.net/jdshop/w2d6-goto.html |
Django Version: | 2.2.6 |
Exception Type: | ProgrammingError |
Exception Value: | (1146, "Table 'aliweb.jdshops' doesn't exist") |
Exception Location: | /www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/MySQLdb/connections.py in query, line 226 |
Python Executable: | /www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/bin/uwsgi |
Python Version: | 3.6.8 |
Python Path: | ['.', '', '/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python36.zip', '/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6', '/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/lib-dynload', '/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages'] |
Server time: | 星期五, 29 三月 2024 23:53:45 +0800 |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/django/db/backends/utils.py
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:
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 0x7f67366a14a8>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f67348e2f98>}) |
params | (602,) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f67348e2f98> |
sql | ('SELECT `jdshops`.`id`, `jdshops`.`shopname`, `jdshops`.`cate`, ' '`jdshops`.`imgUrl`, `jdshops`.`clickUrl`, `jdshops`.`inOrderCount30Days`, ' '`jdshops`.`inOrderComm30Days`, `jdshops`.`averageCommision`, ' '`jdshops`.`overAllRating`, `jdshops`.`goodsVolume`, `jdshops`.`shopId`, ' '`jdshops`.`planId`, `jdshops`.`targetUrl`, `jdshops`.`ranknum` FROM ' '`jdshops` WHERE `jdshops`.`id` = %s') |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/django/db/backends/mysql/base.py
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 utils.IntegrityError(*tuple(e.args))
raise
Variable | Value |
---|---|
args | (602,) |
query | ('SELECT `jdshops`.`id`, `jdshops`.`shopname`, `jdshops`.`cate`, ' '`jdshops`.`imgUrl`, `jdshops`.`clickUrl`, `jdshops`.`inOrderCount30Days`, ' '`jdshops`.`inOrderComm30Days`, `jdshops`.`averageCommision`, ' '`jdshops`.`overAllRating`, `jdshops`.`goodsVolume`, `jdshops`.`shopId`, ' '`jdshops`.`planId`, `jdshops`.`targetUrl`, `jdshops`.`ranknum` FROM ' '`jdshops` WHERE `jdshops`.`id` = %s') |
self | <django.db.backends.mysql.base.CursorWrapper object at 0x7f67348e2c50> |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/MySQLdb/cursors.py
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'602',) |
db | <_mysql.connection open to '127.0.0.1' at 0x2c5cff8> |
query | (b'SELECT `jdshops`.`id`, `jdshops`.`shopname`, `jdshops`.`cate`, `jdshops`.`im' b'gUrl`, `jdshops`.`clickUrl`, `jdshops`.`inOrderCount30Days`, `jdshops`.`inOr' b'derComm30Days`, `jdshops`.`averageCommision`, `jdshops`.`overAllRating`, `jd' b'shops`.`goodsVolume`, `jdshops`.`shopId`, `jdshops`.`planId`, `jdshops`.`tar' b'getUrl`, `jdshops`.`ranknum` FROM `jdshops` WHERE `jdshops`.`id` = 602') |
self | <MySQLdb.cursors.Cursor object at 0x7f67348e22e8> |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/MySQLdb/cursors.py
in _query
for i in range(len(args))]))
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
self._last_executed = q # XXX THIS IS GARBAGE: See above.
return self.rowcount
Variable | Value |
---|---|
db | <_mysql.connection open to '127.0.0.1' at 0x2c5cff8> |
q | (b'SELECT `jdshops`.`id`, `jdshops`.`shopname`, `jdshops`.`cate`, `jdshops`.`im' b'gUrl`, `jdshops`.`clickUrl`, `jdshops`.`inOrderCount30Days`, `jdshops`.`inOr' b'derComm30Days`, `jdshops`.`averageCommision`, `jdshops`.`overAllRating`, `jd' b'shops`.`goodsVolume`, `jdshops`.`shopId`, `jdshops`.`planId`, `jdshops`.`tar' b'getUrl`, `jdshops`.`ranknum` FROM `jdshops` WHERE `jdshops`.`id` = 602') |
self | <MySQLdb.cursors.Cursor object at 0x7f67348e22e8> |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/MySQLdb/connections.py
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 `jdshops`.`id`, `jdshops`.`shopname`, `jdshops`.`cate`, `jdshops`.`im' b'gUrl`, `jdshops`.`clickUrl`, `jdshops`.`inOrderCount30Days`, `jdshops`.`inOr' b'derComm30Days`, `jdshops`.`averageCommision`, `jdshops`.`overAllRating`, `jd' b'shops`.`goodsVolume`, `jdshops`.`shopId`, `jdshops`.`planId`, `jdshops`.`tar' b'getUrl`, `jdshops`.`ranknum` FROM `jdshops` WHERE `jdshops`.`id` = 602') |
self | <_mysql.connection open to '127.0.0.1' at 0x2c5cff8> |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/django/core/handlers/exception.py
in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@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 | ProgrammingError(1146, "Table 'aliweb.jdshops' doesn't exist") |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f67366ccc18>> |
request | <WSGIRequest: GET '/jdshop/w2d6-goto.html'> |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/django/core/handlers/base.py
in _get_response
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)
except Exception as e:
response = self.process_exception_by_middleware(e, request)…
# Complain if the view returned None (a common error).
if response is None:
if isinstance(callback, types.FunctionType): # FBV
view_name = callback.__name__
else: # CBV
Variable | Value |
---|---|
callback | <function jd_shops_jump at 0x7f67349e3e18> |
callback_args | ('w2d6',) |
callback_kwargs | {} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f6737e56588>> |
request | <WSGIRequest: GET '/jdshop/w2d6-goto.html'> |
resolver | <URLResolver 'aliweb.urls' (None:None) '^/'> |
resolver_match | ResolverMatch(func=web.views.jd_shops_jump, args=('w2d6',), kwargs={}, url_name=None, app_names=[], namespaces=[], route=jdshop/(.*?)-goto.html) |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f67366ccc18> |
wrapped_callback | <function jd_shops_jump at 0x7f67349e3e18> |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/django/core/handlers/base.py
in _get_response
response = middleware_method(request, callback, callback_args, callback_kwargs)
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
# Complain if the view returned None (a common error).
if response is None:
if isinstance(callback, types.FunctionType): # FBV
Variable | Value |
---|---|
callback | <function jd_shops_jump at 0x7f67349e3e18> |
callback_args | ('w2d6',) |
callback_kwargs | {} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f6737e56588>> |
request | <WSGIRequest: GET '/jdshop/w2d6-goto.html'> |
resolver | <URLResolver 'aliweb.urls' (None:None) '^/'> |
resolver_match | ResolverMatch(func=web.views.jd_shops_jump, args=('w2d6',), kwargs={}, url_name=None, app_names=[], namespaces=[], route=jdshop/(.*?)-goto.html) |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f67366ccc18> |
wrapped_callback | <function jd_shops_jump at 0x7f67349e3e18> |
./web/views.py
in jd_shops_jump
domain_name = request.META.get('HTTP_HOST', "xxx.com")
try:
# 解密URL字符串为数据库ID,取元组第一项
sql_id = hashids.decode(pwId)[0]
except:
return HttpResponse("数据错误,请确保您访问了正确的url地址")
shop_data = Jdshops.objects.get(id__exact=sql_id)…
# print(shop_data.clickurl)
# 强制重定向到推广域名下的跳转页
if "2uq" in domain_name:
# 假如域名是2uq ,显示跳转页
return render(request, 'web/ClickUrlJump.html', {"cnzz": cnzz, 'clickUrl': shop_data.clickurl})
Variable | Value |
---|---|
cnzz | ('<script type="text/javascript">var cnzz_protocol = (("https:" == ' 'document.location.protocol) ? "https://" : ' '"http://");document.write(unescape("%3Cspan ' 'id=\'cnzz_stat_icon_1277404769\'%3E%3C/span%3E%3Cscript src=\'" + ' 'cnzz_protocol + "s23.cnzz.com/z_stat.php%3Fid%3D1277404769\' ' 'type=\'text/javascript\'%3E%3C/script%3E"));</script>') |
data | {} |
domain_name | 'www.2uq.net' |
pwId | 'w2d6' |
request | <WSGIRequest: GET '/jdshop/w2d6-goto.html'> |
sql_id | 602 |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/django/db/models/manager.py
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 | {'id__exact': 602} |
name | 'get' |
self | <django.db.models.manager.Manager object at 0x7f673493ac50> |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/django/db/models/query.py
in get
"""
Perform the query and return a single object matching the given
keyword arguments.
"""
clone = self.filter(*args, **kwargs)
if self.query.can_filter() and not self.query.distinct_fields:
clone = clone.order_by()
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: ProgrammingError: (1146, "Table 'aliweb.jdshops' doesn't exist") |
kwargs | {'id__exact': 602} |
self | Error in formatting: ProgrammingError: (1146, "Table 'aliweb.jdshops' doesn't exist") |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/django/db/models/query.py
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: ProgrammingError: (1146, "Table 'aliweb.jdshops' doesn't exist") |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/django/db/models/query.py
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: ProgrammingError: (1146, "Table 'aliweb.jdshops' doesn't exist") |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/django/db/models/query.py
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 0x7f67348e23c8> |
db | 'default' |
queryset | Error in formatting: ProgrammingError: (1146, "Table 'aliweb.jdshops' doesn't exist") |
self | <django.db.models.query.ModelIterable object at 0x7f67348e2908> |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/django/db/models/sql/compiler.py
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 0x7f67348e2f98> |
params | (602,) |
result_type | 'multi' |
self | <django.db.backends.mysql.compiler.SQLCompiler object at 0x7f67348e23c8> |
sql | ('SELECT `jdshops`.`id`, `jdshops`.`shopname`, `jdshops`.`cate`, ' '`jdshops`.`imgUrl`, `jdshops`.`clickUrl`, `jdshops`.`inOrderCount30Days`, ' '`jdshops`.`inOrderComm30Days`, `jdshops`.`averageCommision`, ' '`jdshops`.`overAllRating`, `jdshops`.`goodsVolume`, `jdshops`.`shopId`, ' '`jdshops`.`planId`, `jdshops`.`targetUrl`, `jdshops`.`ranknum` FROM ' '`jdshops` WHERE `jdshops`.`id` = %s') |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/django/db/backends/utils.py
in execute
class CursorDebugWrapper(CursorWrapper):
# XXX callproc isn't instrumented at this time.
def execute(self, sql, params=None):
start = time()
try:
return super().execute(sql, params)…
finally:
stop = time()
duration = stop - start
sql = self.db.ops.last_executed_query(self.cursor, sql, params)
self.db.queries_log.append({
'sql': sql,
Variable | Value |
---|---|
__class__ | <class 'django.db.backends.utils.CursorDebugWrapper'> |
duration | 0.00015616416931152344 |
params | (602,) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f67348e2f98> |
sql | None |
start | 1711727625.1724913 |
stop | 1711727625.1726475 |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/django/db/backends/utils.py
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 | (602,) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f67348e2f98> |
sql | ('SELECT `jdshops`.`id`, `jdshops`.`shopname`, `jdshops`.`cate`, ' '`jdshops`.`imgUrl`, `jdshops`.`clickUrl`, `jdshops`.`inOrderCount30Days`, ' '`jdshops`.`inOrderComm30Days`, `jdshops`.`averageCommision`, ' '`jdshops`.`overAllRating`, `jdshops`.`goodsVolume`, `jdshops`.`shopId`, ' '`jdshops`.`planId`, `jdshops`.`targetUrl`, `jdshops`.`ranknum` FROM ' '`jdshops` WHERE `jdshops`.`id` = %s') |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/django/db/backends/utils.py
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:
return self.cursor.execute(sql)
Variable | Value |
---|---|
context | {'connection': <django.db.backends.mysql.base.DatabaseWrapper object at 0x7f67366a14a8>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f67348e2f98>} |
executor | <bound method CursorWrapper._execute of <django.db.backends.utils.CursorDebugWrapper object at 0x7f67348e2f98>> |
many | False |
params | (602,) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f67348e2f98> |
sql | ('SELECT `jdshops`.`id`, `jdshops`.`shopname`, `jdshops`.`cate`, ' '`jdshops`.`imgUrl`, `jdshops`.`clickUrl`, `jdshops`.`inOrderCount30Days`, ' '`jdshops`.`inOrderComm30Days`, `jdshops`.`averageCommision`, ' '`jdshops`.`overAllRating`, `jdshops`.`goodsVolume`, `jdshops`.`shopId`, ' '`jdshops`.`planId`, `jdshops`.`targetUrl`, `jdshops`.`ranknum` FROM ' '`jdshops` WHERE `jdshops`.`id` = %s') |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/django/db/backends/utils.py
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:
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 0x7f67366a14a8>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f67348e2f98>}) |
params | (602,) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f67348e2f98> |
sql | ('SELECT `jdshops`.`id`, `jdshops`.`shopname`, `jdshops`.`cate`, ' '`jdshops`.`imgUrl`, `jdshops`.`clickUrl`, `jdshops`.`inOrderCount30Days`, ' '`jdshops`.`inOrderComm30Days`, `jdshops`.`averageCommision`, ' '`jdshops`.`overAllRating`, `jdshops`.`goodsVolume`, `jdshops`.`shopId`, ' '`jdshops`.`planId`, `jdshops`.`targetUrl`, `jdshops`.`ranknum` FROM ' '`jdshops` WHERE `jdshops`.`id` = %s') |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/django/db/utils.py
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.ProgrammingError'> |
dj_exc_type | <class 'django.db.utils.ProgrammingError'> |
dj_exc_value | ProgrammingError(1146, "Table 'aliweb.jdshops' doesn't exist") |
exc_type | <class 'MySQLdb._exceptions.ProgrammingError'> |
exc_value | ProgrammingError(1146, "Table 'aliweb.jdshops' doesn't exist") |
self | <django.db.utils.DatabaseErrorWrapper object at 0x7f6734879710> |
traceback | <traceback object at 0x7f6734782b08> |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/django/db/backends/utils.py
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:
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 0x7f67366a14a8>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f67348e2f98>}) |
params | (602,) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f67348e2f98> |
sql | ('SELECT `jdshops`.`id`, `jdshops`.`shopname`, `jdshops`.`cate`, ' '`jdshops`.`imgUrl`, `jdshops`.`clickUrl`, `jdshops`.`inOrderCount30Days`, ' '`jdshops`.`inOrderComm30Days`, `jdshops`.`averageCommision`, ' '`jdshops`.`overAllRating`, `jdshops`.`goodsVolume`, `jdshops`.`shopId`, ' '`jdshops`.`planId`, `jdshops`.`targetUrl`, `jdshops`.`ranknum` FROM ' '`jdshops` WHERE `jdshops`.`id` = %s') |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/django/db/backends/mysql/base.py
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 utils.IntegrityError(*tuple(e.args))
raise
Variable | Value |
---|---|
args | (602,) |
query | ('SELECT `jdshops`.`id`, `jdshops`.`shopname`, `jdshops`.`cate`, ' '`jdshops`.`imgUrl`, `jdshops`.`clickUrl`, `jdshops`.`inOrderCount30Days`, ' '`jdshops`.`inOrderComm30Days`, `jdshops`.`averageCommision`, ' '`jdshops`.`overAllRating`, `jdshops`.`goodsVolume`, `jdshops`.`shopId`, ' '`jdshops`.`planId`, `jdshops`.`targetUrl`, `jdshops`.`ranknum` FROM ' '`jdshops` WHERE `jdshops`.`id` = %s') |
self | <django.db.backends.mysql.base.CursorWrapper object at 0x7f67348e2c50> |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/MySQLdb/cursors.py
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'602',) |
db | <_mysql.connection open to '127.0.0.1' at 0x2c5cff8> |
query | (b'SELECT `jdshops`.`id`, `jdshops`.`shopname`, `jdshops`.`cate`, `jdshops`.`im' b'gUrl`, `jdshops`.`clickUrl`, `jdshops`.`inOrderCount30Days`, `jdshops`.`inOr' b'derComm30Days`, `jdshops`.`averageCommision`, `jdshops`.`overAllRating`, `jd' b'shops`.`goodsVolume`, `jdshops`.`shopId`, `jdshops`.`planId`, `jdshops`.`tar' b'getUrl`, `jdshops`.`ranknum` FROM `jdshops` WHERE `jdshops`.`id` = 602') |
self | <MySQLdb.cursors.Cursor object at 0x7f67348e22e8> |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/MySQLdb/cursors.py
in _query
for i in range(len(args))]))
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
self._last_executed = q # XXX THIS IS GARBAGE: See above.
return self.rowcount
Variable | Value |
---|---|
db | <_mysql.connection open to '127.0.0.1' at 0x2c5cff8> |
q | (b'SELECT `jdshops`.`id`, `jdshops`.`shopname`, `jdshops`.`cate`, `jdshops`.`im' b'gUrl`, `jdshops`.`clickUrl`, `jdshops`.`inOrderCount30Days`, `jdshops`.`inOr' b'derComm30Days`, `jdshops`.`averageCommision`, `jdshops`.`overAllRating`, `jd' b'shops`.`goodsVolume`, `jdshops`.`shopId`, `jdshops`.`planId`, `jdshops`.`tar' b'getUrl`, `jdshops`.`ranknum` FROM `jdshops` WHERE `jdshops`.`id` = 602') |
self | <MySQLdb.cursors.Cursor object at 0x7f67348e22e8> |
/www/wwwroot/www.2uq.net/178fb47f4cbbe5c0cda31f9004b28da9_venv/lib/python3.6/site-packages/MySQLdb/connections.py
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 `jdshops`.`id`, `jdshops`.`shopname`, `jdshops`.`cate`, `jdshops`.`im' b'gUrl`, `jdshops`.`clickUrl`, `jdshops`.`inOrderCount30Days`, `jdshops`.`inOr' b'derComm30Days`, `jdshops`.`averageCommision`, `jdshops`.`overAllRating`, `jd' b'shops`.`goodsVolume`, `jdshops`.`shopId`, `jdshops`.`planId`, `jdshops`.`tar' b'getUrl`, `jdshops`.`ranknum` FROM `jdshops` WHERE `jdshops`.`id` = 602') |
self | <_mysql.connection open to '127.0.0.1' at 0x2c5cff8> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_HOST | 'www.2uq.net' |
HTTP_REFERER | 'https://www.2uq.net/jdshop/w2d6.html' |
HTTP_REMOTE_HOST | '3.238.228.237' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '3.238.228.237' |
HTTP_X_REAL_IP | '3.238.228.237' |
PATH_INFO | '/jdshop/w2d6-goto.html' |
QUERY_STRING | '' |
REMOTE_ADDR | '127.0.0.1' |
REMOTE_PORT | '52458' |
REQUEST_METHOD | 'GET' |
REQUEST_URI | '/jdshop/w2d6-goto.html' |
SCRIPT_NAME | '' |
SERVER_NAME | 'iZ8vb58q9tvkbyhrynx3u9Z' |
SERVER_PORT | '5080' |
SERVER_PROTOCOL | 'HTTP/1.0' |
UWSGI_ROUTER | 'http' |
uwsgi.core | 0 |
uwsgi.node | b'iZ8vb58q9tvkbyhrynx3u9Z' |
uwsgi.version | b'2.0.23' |
wsgi.errors | <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'> |
wsgi.file_wrapper | '' |
wsgi.input | <uwsgi._Input object at 0x7f6734820a80> |
wsgi.multiprocess | False |
wsgi.multithread | True |
wsgi.run_once | False |
wsgi.url_scheme | 'http' |
wsgi.version | (1, 0) |
aliweb.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['*'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | '/www/wwwroot/www.2uq.net' |
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 | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': '127.0.0.1', 'NAME': 'aliweb', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '3306', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'aliweb'}} |
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', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y'] |
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_CONTENT_TYPE | 'text/html' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
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_CHARSET | 'utf-8' |
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 | None |
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.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'web'] |
INTERNAL_IPS | [] |
LANGUAGES | [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] |
LANGUAGES_BIDI | ['he', 'ar', 'fa', 'ur'] |
LANGUAGE_CODE | 'zh-hans' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LOCALE_PATHS | [] |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | '/www/wwwroot/www.2uq.net/static/media' |
MEDIA_URL | '' |
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_DAYS | '********************' |
PREPEND_WWW | False |
ROOT_URLCONF | 'aliweb.urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | False |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
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 | 'aliweb.settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
STATICFILES_DIRS | ('/www/wwwroot/www.2uq.net/static/web',) |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/www/wwwroot/www.2uq.net/collect_static' |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/www/wwwroot/www.2uq.net/tpl_all'], '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']}}] |
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 | 'Asia/Shanghai' |
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 | 'aliweb.wsgi.application' |
X_FRAME_OPTIONS | 'SAMEORIGIN' |
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.