Authentication failed., full error: {'ok': 0.0, 'errmsg': 'Authentication failed.', 'code': 18, 'codeName': 'AuthenticationFailed'}
Request Method: | GET |
---|---|
Request URL: | http://127.0.0.1:443/school/474/lore-1.html |
Django Version: | 3.1 |
Exception Type: | OperationFailure |
Exception Value: | Authentication failed., full error: {'ok': 0.0, 'errmsg': 'Authentication failed.', 'code': 18, 'codeName': 'AuthenticationFailed'} |
Exception Location: | /www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/helpers.py, line 230, in _check_command_response |
Python Executable: | /www/server/pyporject_evn/web_site_venv/bin/python3 |
Python Version: | 3.9.10 |
Python Path: | ['/www/python/liuxue/web_site', '/www/server/panel', '/www/server/pyporject_evn/web_site_venv/bin', '/www/server/pyporject_evn/web_site_venv/lib/python39.zip', '/www/server/pyporject_evn/web_site_venv/lib/python3.9', '/www/server/pyporject_evn/web_site_venv/lib/python3.9/lib-dynload', '/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages'] |
Server time: | Thu, 28 Mar 2024 17:18:31 +0800 |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/django/core/handlers/exception.py
, line 47, in inner
response = await sync_to_async(response_for_exception)(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 | OperationFailure("Authentication failed., full error: {'ok': 0.0, 'errmsg': 'Authentication failed.', 'code': 18, 'codeName': 'AuthenticationFailed'}") |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7ffb23c62430>> |
request | <WSGIRequest: GET '/school/474/lore-1.html'> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/django/core/handlers/base.py
, line 179, in _get_response
if response is None:
wrapped_callback = self.make_view_atomic(callback)
# If it is an asynchronous view, run it in a subthread.
if asyncio.iscoroutinefunction(wrapped_callback):
wrapped_callback = async_to_sync(wrapped_callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
if response is None:
raise
# Complain if the view returned None (a common error).
Variable | Value |
---|---|
callback | <function SchoolDetailLoreView at 0x7ffb22258820> |
callback_args | () |
callback_kwargs | {'lore_id': 1, 'school_id': 474} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7ffb23667430>> |
request | <WSGIRequest: GET '/school/474/lore-1.html'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7ffb23c62430> |
wrapped_callback | <function SchoolDetailLoreView at 0x7ffb22258820> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/django/views/generic/base.py
, line 73, in view
self = cls(**initkwargs)
self.setup(request, *args, **kwargs)
if not hasattr(self, 'request'):
raise AttributeError(
"%s instance has no 'request' attribute. Did you override "
"setup() and forget to call super()?" % cls.__name__
)
return self.dispatch(request, *args, **kwargs)…
view.view_class = cls
view.view_initkwargs = initkwargs
# take name and docstring from class
update_wrapper(view, cls, updated=())
Variable | Value |
---|---|
args | () |
cls | <class 'apps.school.views.SchoolDetailLoreView'> |
initkwargs | {} |
kwargs | {'lore_id': 1, 'school_id': 474} |
request | <WSGIRequest: GET '/school/474/lore-1.html'> |
self | <apps.school.views.SchoolDetailLoreView object at 0x7ffb2067fd90> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/django/views/generic/base.py
, line 101, in dispatch
# Try to dispatch to the right method; if a method doesn't exist,
# defer to the error handler. Also defer to the error handler if the
# request method isn't on the approved list.
if request.method.lower() in self.http_method_names:
handler = getattr(self, request.method.lower(), self.http_method_not_allowed)
else:
handler = self.http_method_not_allowed
return handler(request, *args, **kwargs)…
def http_method_not_allowed(self, request, *args, **kwargs):
logger.warning(
'Method Not Allowed (%s): %s', request.method, request.path,
extra={'status_code': 405, 'request': request}
)
Variable | Value |
---|---|
args | () |
handler | <bound method SchoolDetailLoreView.get of <apps.school.views.SchoolDetailLoreView object at 0x7ffb2067fd90>> |
kwargs | {'lore_id': 1, 'school_id': 474} |
request | <WSGIRequest: GET '/school/474/lore-1.html'> |
self | <apps.school.views.SchoolDetailLoreView object at 0x7ffb2067fd90> |
/www/python/liuxue/web_site/apps/school/views.py
, line 95, in get
'random_schools': random_schools,
'extend_article_list':extend_article_list
}
return render(request, 'school/school_detail.html', context=context)
class SchoolDetailLoreView(View):
def get(self, request, school_id,lore_id):
school = School.objects.get(id=school_id)
info = mgcol.find_one({'id': school_id})…
key = list(enumerate(info['相关知识']))[lore_id][1]
lores = info['相关知识']
lore = info['相关知识'][key]
context = {
'school': school,
Variable | Value |
---|---|
lore_id | 1 |
request | <WSGIRequest: GET '/school/474/lore-1.html'> |
school | <School: 铜山学院> |
school_id | 474 |
self | <apps.school.views.SchoolDetailLoreView object at 0x7ffb2067fd90> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/collection.py
, line 1506, in find_one
>>> collection.find_one(max_time_ms=100)
"""
if filter is not None and not isinstance(filter, abc.Mapping):
filter = {"_id": filter}
cursor = self.find(filter, *args, **kwargs)
for result in cursor.limit(-1):…
return result
return None
def find(self, *args: Any, **kwargs: Any) -> Cursor[_DocumentType]:
"""Query the database.
Variable | Value |
---|---|
args | () |
cursor | <pymongo.cursor.Cursor object at 0x7ffb204f7ee0> |
filter | {'id': 474} |
kwargs | {} |
self | Collection(Database(MongoClient(host=['localhost:27018'], document_class=dict, tz_aware=False, connect=True), 'liuxue'), 'baike') |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/cursor.py
, line 1264, in next
def __iter__(self) -> Cursor[_DocumentType]:
return self
def next(self) -> _DocumentType:
"""Advance the cursor."""
if self.__empty:
raise StopIteration
if len(self.__data) or self._refresh():…
return self.__data.popleft()
else:
raise StopIteration
__next__ = next
Variable | Value |
---|---|
self | <pymongo.cursor.Cursor object at 0x7ffb204f7ee0> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/cursor.py
, line 1181, in _refresh
self.__read_concern,
self.__collation,
self.__session,
self.__collection.database.client,
self.__allow_disk_use,
self.__exhaust,
)
self.__send_message(q)…
elif self.__id: # Get More
if self.__limit:
limit = self.__limit - self.__retrieved
if self.__batch_size:
limit = min(limit, self.__batch_size)
else:
Variable | Value |
---|---|
q | <pymongo.message._Query object at 0x7ffb202a7930> |
self | <pymongo.cursor.Cursor object at 0x7ffb204f7ee0> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/cursor.py
, line 1060, in __send_message
"""
client = self.__collection.database.client
# OP_MSG is required to support exhaust cursors with encryption.
if client._encrypter and self.__exhaust:
raise InvalidOperation("exhaust cursors do not support auto encryption")
try:
response = client._run_operation(…
operation, self._unpack_response, address=self.__address
)
except OperationFailure as exc:
if exc.code in _CURSOR_CLOSED_ERRORS or self.__exhaust:
# Don't send killCursors because the cursor is already closed.
self.__killed = True
Variable | Value |
---|---|
client | MongoClient(host=['localhost:27018'], document_class=dict, tz_aware=False, connect=True) |
operation | <pymongo.message._Query object at 0x7ffb202a7930> |
self | <pymongo.cursor.Cursor object at 0x7ffb204f7ee0> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/_csot.py
, line 107, in csot_wrapper
@functools.wraps(func)
def csot_wrapper(self: Any, *args: Any, **kwargs: Any) -> Any:
if get_timeout() is None:
timeout = self._timeout
if timeout is not None:
with _TimeoutContext(timeout):
return func(self, *args, **kwargs)
return func(self, *args, **kwargs)…
return cast(F, csot_wrapper)
def apply_write_concern(
cmd: MutableMapping[str, Any], write_concern: Optional[WriteConcern]
Variable | Value |
---|---|
args | (<pymongo.message._Query object at 0x7ffb202a7930>, <bound method Cursor._unpack_response of <pymongo.cursor.Cursor object at 0x7ffb204f7ee0>>) |
func | <function MongoClient._run_operation at 0x7ffb222ae5e0> |
kwargs | {'address': None} |
self | MongoClient(host=['localhost:27018'], document_class=dict, tz_aware=False, connect=True) |
timeout | None |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/mongo_client.py
, line 1394, in _run_operation
read_preference: _ServerMode,
) -> Response:
operation.reset() # Reset op in case of retry.
return server.run_operation(
conn, operation, read_preference, self._event_listeners, unpack_res
)
return self._retryable_read(…
_cmd,
operation.read_preference,
operation.session,
address=address,
retryable=isinstance(operation, message._Query),
)
Variable | Value |
---|---|
_cmd | <function MongoClient._run_operation.<locals>._cmd at 0x7ffb204a4670> |
address | None |
operation | <pymongo.message._Query object at 0x7ffb202a7930> |
self | MongoClient(host=['localhost:27018'], document_class=dict, tz_aware=False, connect=True) |
unpack_res | <bound method Cursor._unpack_response of <pymongo.cursor.Cursor object at 0x7ffb204f7ee0>> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/mongo_client.py
, line 1492, in _retryable_read
"""
# Ensure that the client supports retrying on reads and there is no session in
# transaction, otherwise, we will not support retry behavior for this call.
retryable = bool(
retryable and self.options.retry_reads and not (session and session.in_transaction)
)
return self._retry_internal(…
func,
session,
None,
is_read=True,
address=address,
read_pref=read_pref,
Variable | Value |
---|---|
address | None |
func | <function MongoClient._run_operation.<locals>._cmd at 0x7ffb204a4670> |
read_pref | Primary() |
retryable | True |
self | MongoClient(host=['localhost:27018'], document_class=dict, tz_aware=False, connect=True) |
session | <pymongo.client_session.ClientSession object at 0x7ffb204f7400> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/_csot.py
, line 107, in csot_wrapper
@functools.wraps(func)
def csot_wrapper(self: Any, *args: Any, **kwargs: Any) -> Any:
if get_timeout() is None:
timeout = self._timeout
if timeout is not None:
with _TimeoutContext(timeout):
return func(self, *args, **kwargs)
return func(self, *args, **kwargs)…
return cast(F, csot_wrapper)
def apply_write_concern(
cmd: MutableMapping[str, Any], write_concern: Optional[WriteConcern]
Variable | Value |
---|---|
args | (<function MongoClient._run_operation.<locals>._cmd at 0x7ffb204a4670>, <pymongo.client_session.ClientSession object at 0x7ffb204f7400>, None) |
func | <function MongoClient._retry_internal at 0x7ffb222ae790> |
kwargs | {'address': None, 'is_read': True, 'read_pref': Primary(), 'retryable': True} |
self | MongoClient(host=['localhost:27018'], document_class=dict, tz_aware=False, connect=True) |
timeout | None |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/mongo_client.py
, line 1453, in _retry_internal
- `address`: Server Address, defaults to None
- `read_pref`: Topology of read operation, defaults to None
- `retryable`: If the operation should be retried once, defaults to None
:Returns:
Output of the calling func()
"""
return _ClientConnectionRetryable(…
mongo_client=self,
func=func,
bulk=bulk,
is_read=is_read,
session=session,
read_pref=read_pref,
Variable | Value |
---|---|
address | None |
bulk | None |
func | <function MongoClient._run_operation.<locals>._cmd at 0x7ffb204a4670> |
is_read | True |
read_pref | Primary() |
retryable | True |
self | MongoClient(host=['localhost:27018'], document_class=dict, tz_aware=False, connect=True) |
session | <pymongo.client_session.ClientSession object at 0x7ffb204f7400> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/mongo_client.py
, line 2315, in run
self._session._start_retryable_write() # type: ignore
if self._bulk:
self._bulk.started_retryable_write = True
while True:
self._check_last_error(check_csot=True)
try:
return self._read() if self._is_read else self._write()…
except ServerSelectionTimeoutError:
# The application may think the write was never attempted
# if we raise ServerSelectionTimeoutError on the retry
# attempt. Raise the original exception instead.
self._check_last_error()
# A ServerSelectionTimeoutError error indicates that there may
Variable | Value |
---|---|
exc_code | 18 |
self | <pymongo.mongo_client._ClientConnectionRetryable object at 0x7ffb204f7460> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/mongo_client.py
, line 2439, in _read
"""Wrapper method for read-type retryable client executions
:Returns:
Output for func()'s call
"""
self._server = self._get_server()
assert self._read_pref is not None, "Read Preference required on read calls"
with self._client._conn_from_server(self._read_pref, self._server, self._session) as (…
conn,
read_pref,
):
if self._retrying and not self._retryable:
self._check_last_error()
return self._func(self._session, self._server, conn, read_pref) # type: ignore
Variable | Value |
---|---|
self | <pymongo.mongo_client._ClientConnectionRetryable object at 0x7ffb204f7460> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/contextlib.py
, line 119, in __enter__
"""Helper for @contextmanager decorator."""
def __enter__(self):
# do not keep args and kwds alive unnecessarily
# they are only needed for recreation, which is not possible anymore
del self.args, self.kwds, self.func
try:
return next(self.gen)…
except StopIteration:
raise RuntimeError("generator didn't yield") from None
def __exit__(self, typ, value, traceback):
if typ is None:
try:
Variable | Value |
---|---|
self | <contextlib._GeneratorContextManager object at 0x7ffb204f75e0> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/mongo_client.py
, line 1330, in _conn_from_server
# Spec says not to send any $readPreference to standalones and to
# always send primaryPreferred when directly connected to a repl set
# member.
# Thread safe: if the type is single it cannot change.
topology = self._get_topology()
single = topology.description.topology_type == TOPOLOGY_TYPE.Single
with self._checkout(server, session) as conn:…
if single:
if conn.is_repl and not (session and session.in_transaction):
# Use primary preferred to ensure any repl set member
# can handle the request.
read_preference = ReadPreference.PRIMARY_PREFERRED
elif conn.is_standalone:
Variable | Value |
---|---|
read_preference | Primary() |
self | MongoClient(host=['localhost:27018'], document_class=dict, tz_aware=False, connect=True) |
server | <Server <ServerDescription ('localhost', 27018) server_type: Unknown, rtt: None, error=OperationFailure("Authentication failed., full error: {'ok': 0.0, 'errmsg': 'Authentication failed.', 'code': 18, 'codeName': 'AuthenticationFailed'}")>> |
session | <pymongo.client_session.ClientSession object at 0x7ffb204f7400> |
single | True |
topology | <Topology <TopologyDescription id: 65a3d0a87d52104c4a288b09, topology_type: Single, servers: [<ServerDescription ('localhost', 27018) server_type: Unknown, rtt: None, error=OperationFailure("Authentication failed., full error: {'ok': 0.0, 'errmsg': 'Authentication failed.', 'code': 18, 'codeName': 'AuthenticationFailed'}")>]>> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/contextlib.py
, line 119, in __enter__
"""Helper for @contextmanager decorator."""
def __enter__(self):
# do not keep args and kwds alive unnecessarily
# they are only needed for recreation, which is not possible anymore
del self.args, self.kwds, self.func
try:
return next(self.gen)…
except StopIteration:
raise RuntimeError("generator didn't yield") from None
def __exit__(self, typ, value, traceback):
if typ is None:
try:
Variable | Value |
---|---|
self | <contextlib._GeneratorContextManager object at 0x7ffb204f7640> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/mongo_client.py
, line 1252, in _checkout
in_txn = session and session.in_transaction
with _MongoClientErrorHandler(self, server, session) as err_handler:
# Reuse the pinned connection, if it exists.
if in_txn and session and session._pinned_connection:
err_handler.contribute_socket(session._pinned_connection)
yield session._pinned_connection
return
with server.checkout(handler=err_handler) as conn:…
# Pin this session to the selected server or connection.
if (
in_txn
and session
and server.description.server_type
in (
Variable | Value |
---|---|
err_handler | <pymongo.mongo_client._MongoClientErrorHandler object at 0x7ffb20358e20> |
in_txn | False |
self | MongoClient(host=['localhost:27018'], document_class=dict, tz_aware=False, connect=True) |
server | <Server <ServerDescription ('localhost', 27018) server_type: Unknown, rtt: None, error=OperationFailure("Authentication failed., full error: {'ok': 0.0, 'errmsg': 'Authentication failed.', 'code': 18, 'codeName': 'AuthenticationFailed'}")>> |
session | <pymongo.client_session.ClientSession object at 0x7ffb204f7400> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/contextlib.py
, line 119, in __enter__
"""Helper for @contextmanager decorator."""
def __enter__(self):
# do not keep args and kwds alive unnecessarily
# they are only needed for recreation, which is not possible anymore
del self.args, self.kwds, self.func
try:
return next(self.gen)…
except StopIteration:
raise RuntimeError("generator didn't yield") from None
def __exit__(self, typ, value, traceback):
if typ is None:
try:
Variable | Value |
---|---|
self | <contextlib._GeneratorContextManager object at 0x7ffb204f7c10> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/pool.py
, line 1637, in checkout
- `handler` (optional): A _MongoClientErrorHandler.
"""
listeners = self.opts._event_listeners
if self.enabled_for_cmap:
assert listeners is not None
listeners.publish_connection_check_out_started(self.address)
conn = self._get_conn(handler=handler)…
if self.enabled_for_cmap:
assert listeners is not None
listeners.publish_connection_checked_out(self.address, conn.id)
try:
yield conn
Variable | Value |
---|---|
handler | <pymongo.mongo_client._MongoClientErrorHandler object at 0x7ffb20358e20> |
listeners | <pymongo.monitoring._EventListeners object at 0x7ffb222a4640> |
self | <pymongo.pool.Pool object at 0x7ffb222a4b50> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/pool.py
, line 1756, in _get_conn
self._pending += 1
if conn: # We got a socket from the pool
if self._perished(conn):
conn = None
continue
else: # We need to create a new connection
try:
conn = self.connect(handler=handler)…
finally:
with self._max_connecting_cond:
self._pending -= 1
self._max_connecting_cond.notify()
except BaseException:
if conn:
Variable | Value |
---|---|
conn | None |
deadline | None |
emitted_event | False |
handler | <pymongo.mongo_client._MongoClientErrorHandler object at 0x7ffb20358e20> |
incremented | True |
self | <pymongo.pool.Pool object at 0x7ffb222a4b50> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/pool.py
, line 1607, in connect
try:
if self.handshake:
conn.hello()
self.is_writable = conn.is_writable
if handler:
handler.contribute_socket(conn, completed_handshake=False)
conn.authenticate()…
except BaseException:
conn.close_conn(ConnectionClosedReason.ERROR)
raise
return conn
Variable | Value |
---|---|
conn | Connection(<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6>) CLOSED at 140716555598096 |
conn_id | 89151 |
handler | <pymongo.mongo_client._MongoClientErrorHandler object at 0x7ffb20358e20> |
listeners | <pymongo.monitoring._EventListeners object at 0x7ffb222a4640> |
self | <pymongo.pool.Pool object at 0x7ffb222a4b50> |
sock | <socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6> |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/pool.py
, line 1078, in authenticate
if self.performed_handshake:
# Existing auth_ctx is stale, remove it.
self.auth_ctx = None
self.ready = False
if not self.ready:
creds = self.opts._credentials
if creds:
auth.authenticate(creds, self, reauthenticate=reauthenticate)…
self.ready = True
if self.enabled_for_cmap:
assert self.listeners is not None
self.listeners.publish_connection_ready(self.address, self.id)
def validate_session(
Variable | Value |
---|---|
creds | MongoCredential(mechanism='DEFAULT', source='admin', username='root', password='008963', mechanism_properties=None, cache=<pymongo.auth._Cache object at 0x7ffb222a4460>) |
reauthenticate | False |
self | Connection(<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6>) CLOSED at 140716555598096 |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/auth.py
, line 625, in authenticate
) -> None:
"""Authenticate connection."""
mechanism = credentials.mechanism
auth_func = _AUTH_MAP[mechanism]
if mechanism == "MONGODB-OIDC":
_authenticate_oidc(credentials, conn, reauthenticate)
else:
auth_func(credentials, conn)…
Variable | Value |
---|---|
auth_func | <function _authenticate_default at 0x7ffb2262fdc0> |
conn | Connection(<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6>) CLOSED at 140716555598096 |
credentials | MongoCredential(mechanism='DEFAULT', source='admin', username='root', password='008963', mechanism_properties=None, cache=<pymongo.auth._Cache object at 0x7ffb222a4460>) |
mechanism | 'DEFAULT' |
reauthenticate | False |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/auth.py
, line 530, in _authenticate_default
source = credentials.source
cmd = conn.hello_cmd()
cmd["saslSupportedMechs"] = source + "." + credentials.username
mechs = conn.command(source, cmd, publish_events=False).get("saslSupportedMechs", [])
if "SCRAM-SHA-256" in mechs:
return _authenticate_scram(credentials, conn, "SCRAM-SHA-256")
else:
return _authenticate_scram(credentials, conn, "SCRAM-SHA-1")…
else:
return _authenticate_scram(credentials, conn, "SCRAM-SHA-1")
_AUTH_MAP: Mapping[str, Callable[..., None]] = {
"GSSAPI": _authenticate_gssapi,
Variable | Value |
---|---|
cmd | SON([('hello', 1), ('saslSupportedMechs', 'admin.root'), ('$db', 'admin')]) |
conn | Connection(<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6>) CLOSED at 140716555598096 |
credentials | MongoCredential(mechanism='DEFAULT', source='admin', username='root', password='008963', mechanism_properties=None, cache=<pymongo.auth._Cache object at 0x7ffb222a4460>) |
mechs | [] |
source | 'admin' |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/auth.py
, line 257, in _authenticate_scram
if ctx and ctx.speculate_succeeded():
assert isinstance(ctx, _ScramContext)
assert ctx.scram_data is not None
nonce, first_bare = ctx.scram_data
res = ctx.speculative_authenticate
else:
nonce, first_bare, cmd = _authenticate_scram_start(credentials, mechanism)
res = conn.command(source, cmd)…
assert res is not None
server_first = res["payload"]
parsed = _parse_scram_response(server_first)
iterations = int(parsed[b"i"])
if iterations < 4096:
Variable | Value |
---|---|
_hmac | <class 'hmac.HMAC'> |
cache | <pymongo.auth._Cache object at 0x7ffb222a4460> |
cmd | {'$db': 'admin', 'autoAuthorize': 1, 'mechanism': 'SCRAM-SHA-1', 'options': {'skipEmptyExchange': True}, 'payload': Binary(b'n,,n=root,r=zWsEY8Roo7QxD/zH+RVd1fY+TkXn32Toj8of7OCvNV8=', 0), 'saslStart': 1} |
conn | Connection(<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6>) CLOSED at 140716555598096 |
credentials | MongoCredential(mechanism='DEFAULT', source='admin', username='root', password='008963', mechanism_properties=None, cache=<pymongo.auth._Cache object at 0x7ffb222a4460>) |
ctx | None |
data | b'746b81a7bc29781bf85b181ac45a018f' |
digest | 'sha1' |
digestmod | <built-in function openssl_sha1> |
first_bare | b'n=root,r=zWsEY8Roo7QxD/zH+RVd1fY+TkXn32Toj8of7OCvNV8=' |
mechanism | 'SCRAM-SHA-1' |
nonce | b'zWsEY8Roo7QxD/zH+RVd1fY+TkXn32Toj8of7OCvNV8=' |
source | 'admin' |
username | 'root' |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/helpers.py
, line 322, in inner
def _handle_reauth(func: F) -> F:
def inner(*args: Any, **kwargs: Any) -> Any:
no_reauth = kwargs.pop("no_reauth", False)
from pymongo.message import _BulkWriteContext
from pymongo.pool import Connection
try:
return func(*args, **kwargs)…
except OperationFailure as exc:
if no_reauth:
raise
if exc.code == _REAUTHENTICATION_REQUIRED_CODE:
# Look for an argument that either is a Connection
# or has a connection attribute, so we can trigger
Variable | Value |
---|---|
Connection | <class 'pymongo.pool.Connection'> |
_BulkWriteContext | <class 'pymongo.message._BulkWriteContext'> |
args | (Connection(<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6>) CLOSED at 140716555598096, 'admin', {'$db': 'admin', 'autoAuthorize': 1, 'mechanism': 'SCRAM-SHA-1', 'options': {'skipEmptyExchange': True}, 'payload': Binary(b'n,,n=root,r=zWsEY8Roo7QxD/zH+RVd1fY+TkXn32Toj8of7OCvNV8=', 0), 'saslStart': 1}) |
func | <function Connection.command at 0x7ffb2247e550> |
kwargs | {} |
no_reauth | False |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/pool.py
, line 968, in command
session._apply_to(spec, retryable_write, read_preference, self)
self.send_cluster_time(spec, session, client)
listeners = self.listeners if publish_events else None
unacknowledged = bool(write_concern and not write_concern.acknowledged)
if self.op_msg_enabled:
self._raise_if_not_writable(unacknowledged)
try:
return command(…
self,
dbname,
spec,
self.is_mongos,
read_preference,
codec_options,
Variable | Value |
---|---|
allowable_errors | None |
check | True |
client | None |
codec_options | CodecOptions(document_class=dict, tz_aware=False, uuid_representation=UuidRepresentation.UNSPECIFIED, unicode_decode_error_handler='strict', tzinfo=None, type_registry=TypeRegistry(type_codecs=[], fallback_encoder=None), datetime_conversion=DatetimeConversion.DATETIME) |
collation | None |
dbname | 'admin' |
exhaust_allowed | False |
listeners | <pymongo.monitoring._EventListeners object at 0x7ffb222a4640> |
parse_write_concern_error | False |
publish_events | True |
read_concern | None |
read_preference | Primary() |
retryable_write | False |
self | Connection(<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6>) CLOSED at 140716555598096 |
session | None |
spec | {'$db': 'admin', 'autoAuthorize': 1, 'mechanism': 'SCRAM-SHA-1', 'options': {'skipEmptyExchange': True}, 'payload': Binary(b'n,,n=root,r=zWsEY8Roo7QxD/zH+RVd1fY+TkXn32Toj8of7OCvNV8=', 0), 'saslStart': 1} |
unacknowledged | False |
user_fields | None |
write_concern | None |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/network.py
, line 192, in command
codec_options=codec_options, user_fields=user_fields
)
response_doc = unpacked_docs[0]
if client:
client._process_response(response_doc, session)
if check:
helpers._check_command_response(…
response_doc,
conn.max_wire_version,
allowable_errors,
parse_write_concern_error=parse_write_concern_error,
)
except Exception as exc:
Variable | Value |
---|---|
address | ('localhost', 27018) |
allowable_errors | None |
check | True |
client | None |
codec_options | CodecOptions(document_class=dict, tz_aware=False, uuid_representation=UuidRepresentation.UNSPECIFIED, unicode_decode_error_handler='strict', tzinfo=None, type_registry=TypeRegistry(type_codecs=[], fallback_encoder=None), datetime_conversion=DatetimeConversion.DATETIME) |
collation | None |
compression_ctx | None |
conn | Connection(<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6>) CLOSED at 140716555598096 |
dbname | 'admin' |
exhaust_allowed | False |
flags | 0 |
is_mongos | False |
listeners | <pymongo.monitoring._EventListeners object at 0x7ffb222a4640> |
max_bson_size | 16777216 |
max_doc_size | 0 |
msg | (b'\xce\x00\x00\x00\r\xf9\xc1\x05\x00\x00\x00\x00\xdd\x07\x00\x00' b'\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x10saslStart\x00\x01\x00\x00\x00\x02mec' b'hanism\x00\x0c\x00\x00\x00SCRAM-SHA-1\x00\x05payload\x008\x00\x00\x00\x00n,,' b'n=root,r=zWsEY8Roo7QxD/zH+RVd1fY+TkXn32Toj8of7OCvNV8=\x10autoAuthorize\x00' b'\x01\x00\x00\x00\x03options\x00\x19\x00\x00\x00\x08skipEmptyExchange\x00' b'\x01\x00\x02$db\x00\x06\x00\x00\x00admin\x00\x00') |
name | 'saslStart' |
ns | 'admin.$cmd' |
orig | {'$db': 'admin', 'autoAuthorize': 1, 'mechanism': 'SCRAM-SHA-1', 'options': {'skipEmptyExchange': True}, 'payload': Binary(b'n,,n=root,r=zWsEY8Roo7QxD/zH+RVd1fY+TkXn32Toj8of7OCvNV8=', 0), 'saslStart': 1} |
parse_write_concern_error | False |
publish | False |
read_concern | None |
read_preference | Primary() |
reply | <pymongo.message._OpMsg object at 0x7ffb20503d40> |
request_id | 96598285 |
response_doc | {'code': 18, 'codeName': 'AuthenticationFailed', 'errmsg': 'Authentication failed.', 'ok': 0.0} |
session | None |
size | 185 |
spec | {'$db': 'admin', 'autoAuthorize': 1, 'mechanism': 'SCRAM-SHA-1', 'options': {'skipEmptyExchange': True}, 'payload': Binary(b'n,,n=root,r=zWsEY8Roo7QxD/zH+RVd1fY+TkXn32Toj8of7OCvNV8=', 0), 'saslStart': 1} |
speculative_hello | False |
unacknowledged | False |
unpacked_docs | [{'code': 18, 'codeName': 'AuthenticationFailed', 'errmsg': 'Authentication failed.', 'ok': 0.0}] |
use_op_msg | True |
user_fields | None |
write_concern | None |
/www/server/pyporject_evn/web_site_venv/lib/python3.9/site-packages/pymongo/helpers.py
, line 230, in _check_command_response
if code in (11000, 11001, 12582):
raise DuplicateKeyError(errmsg, code, response, max_wire_version)
elif code == 50:
raise ExecutionTimeout(errmsg, code, response, max_wire_version)
elif code == 43:
raise CursorNotFound(errmsg, code, response, max_wire_version)
raise OperationFailure(errmsg, code, response, max_wire_version)…
def _raise_last_write_error(write_errors: list[Any]) -> NoReturn:
# If the last batch had multiple errors only report
# the last error to emulate continue_on_error.
error = write_errors[-1]
Variable | Value |
---|---|
allowable_errors | None |
code | 18 |
details | {'code': 18, 'codeName': 'AuthenticationFailed', 'errmsg': 'Authentication failed.', 'ok': 0.0} |
errmsg | 'Authentication failed.' |
max_wire_version | 21 |
parse_write_concern_error | False |
response | {'code': 18, 'codeName': 'AuthenticationFailed', 'errmsg': 'Authentication failed.', 'ok': 0.0} |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'upgrade' |
HTTP_HOST | '127.0.0.1:443' |
HTTP_REMOTE_HOST | '3.90.187.11' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '3.90.187.11' |
HTTP_X_HOST | 'www.liuxuebk.cn:443' |
HTTP_X_REAL_IP | '3.90.187.11' |
HTTP_X_SCHEME | 'https' |
PATH_INFO | '/school/474/lore-1.html' |
QUERY_STRING | '' |
RAW_URI | '/school/474/lore-1.html' |
REMOTE_ADDR | '127.0.0.1' |
REMOTE_PORT | '52336' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | '0.0.0.0' |
SERVER_PORT | '9003' |
SERVER_PROTOCOL | 'HTTP/1.1' |
SERVER_SOFTWARE | 'gunicorn/21.2.0' |
gunicorn.socket | <socket.socket fd=17, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 9003), raddr=('127.0.0.1', 52336)> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ffb206fbb80> |
wsgi.file_wrapper | <class 'gunicorn.http.wsgi.FileWrapper'> |
wsgi.input | <gunicorn.http.body.Body object at 0x7ffb2067fa90> |
wsgi.input_terminated | True |
wsgi.multiprocess | True |
wsgi.multithread | True |
wsgi.run_once | False |
wsgi.url_scheme | 'http' |
wsgi.version | (1, 0) |
conf.prod
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['*'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'system.Users' |
BAIDU_PUSH_API | '********************' |
BAIDU_XCX_PUSH_API | '********************' |
BASE_DIR | PosixPath('/www/python/liuxue/web_site') |
BASE_URL | 'https://www.liuxuebk.cn' |
CACHES | {'default': {'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://127.0.0.1:6379', 'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient', 'CONNECTION_POOL_KWARGS': {'max_connections': 100}}}} |
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': '82.157.252.232', 'NAME': 'django-liuxue', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '3306', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'django-liuxue'}} |
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_AUTO_FIELD | 'django.db.models.BigAutoField' |
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 |
ENV | 'prod' |
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' |
GOFOUND | {'host': '82.157.252.232', 'password': '********************', 'port': 5678, 'username': 'liiayy'} |
IGNORABLE_404_URLS | [] |
IMG_PATH | '/www/cosfs/liuxue/' |
INSTALLED_APPS | ['rest_framework', 'django_filters', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'dvadmin.system', 'apps.article', 'apps.school'] |
INTERNAL_IPS | [] |
LANGUAGES | [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ar-dz', 'Algerian 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'), ('ig', 'Igbo'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('ky', 'Kyrgyz'), ('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'), ('tg', 'Tajik'), ('th', 'Thai'), ('tk', 'Turkmen'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('uz', 'Uzbek'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'fa', 'ur'] |
LANGUAGE_CODE | 'zh-hans' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_HTTPONLY | False |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LANGUAGE_COOKIE_SAMESITE | None |
LANGUAGE_COOKIE_SECURE | False |
LOCALE_PATHS | [] |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | 'media' |
MEDIA_URL | '/media/' |
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 | {} |
MONGODB | {'host': 'localhost', 'password': '********************', 'port': 27018, 'username': 'root'} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
REST_FRAMEWORK | {'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',), 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', 'PAGE_SIZE': 10} |
ROOT_URLCONF | 'application.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 | 'conf.prod' |
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/python/liuxue/web_site/static'] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | None |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [PosixPath('/www/python/liuxue/web_site/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', 'utils.context_processors.settings']}}] |
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' |
USERNAME_FIELD | 'username' |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | False |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'application.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.