NOT NULL constraint failed: settlement_order.user_uuid
Request Method: | GET |
---|---|
Request URL: | https://localhost:8000/settlement/ips/purchase/400060-15019082607 |
Django Version: | 1.9.7 |
Exception Type: | IntegrityError |
Exception Value: | NOT NULL constraint failed: settlement_order.user_uuid |
Exception Location: | /var/www/django/env/keibagp/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py in execute, line 323 |
Python Executable: | /var/www/django/env/keibagp/bin/python3 |
Python Version: | 3.5.1 |
Python Path: | ['/var/www/django/keibagp', '/var/www/django/env/keibagp/bin', '/var/www/django/env/keibagp/lib/python35.zip', '/var/www/django/env/keibagp/lib/python3.5', '/var/www/django/env/keibagp/lib/python3.5/plat-x86_64-linux-gnu', '/var/www/django/env/keibagp/lib/python3.5/lib-dynload', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/var/www/django/env/keibagp/lib/python3.5/site-packages'] |
Server time: | 木, 28 3月 2024 20:49:47 +0900 |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/db/models/query.py
in get_or_create
specifying whether an object was created.
"""
lookup, params = self._extract_model_params(defaults, **kwargs)
# The get() needs to be targeted at the write database in order
# to avoid potential transaction consistency problems.
self._for_write = True
try:
return self.get(**lookup), False...
except self.model.DoesNotExist:
return self._create_object_from_params(lookup, params)
def update_or_create(self, defaults=None, **kwargs):
"""
Looks up an object with the given kwargs, updating one with defaults
Variable | Value |
---|---|
kwargs | {'product_id': '400060-15019082607', 'transaction_id': '9faa6ae30736c885cfdf65f319c438933a02e23b', 'user_uuid': None} |
defaults | None |
self | [<Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, '...(remaining elements truncated)...'] |
lookup | {'product_id': '400060-15019082607', 'transaction_id': '9faa6ae30736c885cfdf65f319c438933a02e23b', 'user_uuid': None} |
params | {'product_id': '400060-15019082607', 'transaction_id': '9faa6ae30736c885cfdf65f319c438933a02e23b', 'user_uuid': None} |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/db/models/query.py
in get
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...
)
raise self.model.MultipleObjectsReturned(
"get() returned more than one %s -- it returned %s!" %
(self.model._meta.object_name, num)
)
Variable | Value |
---|---|
clone | [] |
args | () |
self | [<Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, '...(remaining elements truncated)...'] |
num | 0 |
kwargs | {'product_id': '400060-15019082607', 'transaction_id': '9faa6ae30736c885cfdf65f319c438933a02e23b', 'user_uuid': None} |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/db/backends/utils.py
in execute
def execute(self, sql, params=None):
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):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
return self.cursor.executemany(sql, param_list)
Variable | Value |
---|---|
sql | ('INSERT INTO "settlement_order" ("transaction_id", "user_uuid", "product_id", ' '"created_at", "updated_at") VALUES (%s, %s, %s, %s, %s)') |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f766c6a84a8> |
params | ['9faa6ae30736c885cfdf65f319c438933a02e23b', None, '400060-15019082607', '2024-03-28 20:49:47.832108', '2024-03-28 20:49:47.832142'] |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py
in execute
This fixes it -- but note that if you want to use a literal "%s" in a query,
you'll need to use "%%s".
"""
def execute(self, query, params=None):
if params is None:
return Database.Cursor.execute(self, query)
query = self.convert_query(query)
return Database.Cursor.execute(self, query, params)...
def executemany(self, query, param_list):
query = self.convert_query(query)
return Database.Cursor.executemany(self, query, param_list)
def convert_query(self, query):
Variable | Value |
---|---|
query | ('INSERT INTO "settlement_order" ("transaction_id", "user_uuid", "product_id", ' '"created_at", "updated_at") VALUES (?, ?, ?, ?, ?)') |
params | ['9faa6ae30736c885cfdf65f319c438933a02e23b', None, '400060-15019082607', '2024-03-28 20:49:47.832108', '2024-03-28 20:49:47.832142'] |
self | <django.db.backends.sqlite3.base.SQLiteCursorWrapper object at 0x7f766cb641f8> |
/var/www/django/env/keibagp/lib/python3.5/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_args | () |
resolver | <RegexURLResolver 'keibagp.urls' (None:None) ^/> |
resolver_match | ResolverMatch(func=settlement.views.ips_views.ips_purchase, args=(), kwargs={'pcode': '400060-15019082607'}, url_name=ips_purchase, app_names=[], namespaces=['settlement']) |
callback | <function ips_purchase at 0x7f766e5da158> |
middleware_method | <bound method PageMiddleware.process_view of <mezzanine.pages.middleware.PageMiddleware object at 0x7f766e703668>> |
response_is_rendered | False |
urlconf | 'keibagp.urls' |
request | <WSGIRequest: GET '/settlement/ips/purchase/400060-15019082607'> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f766f63cef0> |
callback_kwargs | {'pcode': '400060-15019082607'} |
response | None |
wrapped_callback | <function ips_purchase at 0x7f766e5da158> |
/var/www/django/env/keibagp/lib/python3.5/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_args | () |
resolver | <RegexURLResolver 'keibagp.urls' (None:None) ^/> |
resolver_match | ResolverMatch(func=settlement.views.ips_views.ips_purchase, args=(), kwargs={'pcode': '400060-15019082607'}, url_name=ips_purchase, app_names=[], namespaces=['settlement']) |
callback | <function ips_purchase at 0x7f766e5da158> |
middleware_method | <bound method PageMiddleware.process_view of <mezzanine.pages.middleware.PageMiddleware object at 0x7f766e703668>> |
response_is_rendered | False |
urlconf | 'keibagp.urls' |
request | <WSGIRequest: GET '/settlement/ips/purchase/400060-15019082607'> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f766f63cef0> |
callback_kwargs | {'pcode': '400060-15019082607'} |
response | None |
wrapped_callback | <function ips_purchase at 0x7f766e5da158> |
/var/www/django/keibagp/settlement/views/ips_views.py
in ips_purchase
def ips_purchase(request, pcode):
pid = _extract(request, 'pid', None)
ips = IPS()
user_uuid = get_user_uuid(request)
order = ips.save_order(user_uuid, pcode)...
response = ips_normal(request, order.transaction_id)
if pid:
prediction = Prediction.objects.get(id=order.product_id)
context = {
Variable | Value |
---|---|
pid | None |
request | <WSGIRequest: GET '/settlement/ips/purchase/400060-15019082607'> |
ips | <settlement.providers.ips.IPS object at 0x7f766cc4e4a8> |
user_uuid | None |
pcode | '400060-15019082607' |
/var/www/django/keibagp/settlement/providers/abstract.py
in save_order
def save_order(self, user_uuid, product_id, **kwargs):
params = {
'transaction_id': create_transaction_id(user_uuid, product_id),
'user_uuid': user_uuid,
'product_id': product_id,
}
order, created = Order.objects.get_or_create(**params)...
if not created:
order.save() # update_atを更新
return order
def get_settlement_url(self, transaction_id, **kwargs):
raise NotImplementedException
Variable | Value |
---|---|
kwargs | {} |
params | {'product_id': '400060-15019082607', 'transaction_id': '9faa6ae30736c885cfdf65f319c438933a02e23b', 'user_uuid': None} |
user_uuid | None |
self | <settlement.providers.ips.IPS object at 0x7f766cc4e4a8> |
product_id | '400060-15019082607' |
/var/www/django/env/keibagp/lib/python3.5/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 = {}
# Refs http://bugs.python.org/issue1785.
Variable | Value |
---|---|
args | () |
name | 'get_or_create' |
kwargs | {'product_id': '400060-15019082607', 'transaction_id': '9faa6ae30736c885cfdf65f319c438933a02e23b', 'user_uuid': None} |
self | <django.db.models.manager.Manager object at 0x7f766f3fd438> |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/db/models/query.py
in get_or_create
lookup, params = self._extract_model_params(defaults, **kwargs)
# The get() needs to be targeted at the write database in order
# to avoid potential transaction consistency problems.
self._for_write = True
try:
return self.get(**lookup), False
except self.model.DoesNotExist:
return self._create_object_from_params(lookup, params)...
def update_or_create(self, defaults=None, **kwargs):
"""
Looks up an object with the given kwargs, updating one with defaults
if it exists, otherwise creates a new one.
Returns a tuple (object, created), where created is a boolean
Variable | Value |
---|---|
kwargs | {'product_id': '400060-15019082607', 'transaction_id': '9faa6ae30736c885cfdf65f319c438933a02e23b', 'user_uuid': None} |
defaults | None |
self | [<Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, '...(remaining elements truncated)...'] |
lookup | {'product_id': '400060-15019082607', 'transaction_id': '9faa6ae30736c885cfdf65f319c438933a02e23b', 'user_uuid': None} |
params | {'product_id': '400060-15019082607', 'transaction_id': '9faa6ae30736c885cfdf65f319c438933a02e23b', 'user_uuid': None} |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/db/models/query.py
in _create_object_from_params
return obj, True
except IntegrityError:
exc_info = sys.exc_info()
try:
return self.get(**lookup), False
except self.model.DoesNotExist:
pass
six.reraise(*exc_info)...
def _extract_model_params(self, defaults, **kwargs):
"""
Prepares `lookup` (kwargs that are valid model attributes), `params`
(for creating a model instance) based on given kwargs; for use by
get_or_create and update_or_create.
Variable | Value |
---|---|
exc_info | (<class 'django.db.utils.IntegrityError'>, IntegrityError('NOT NULL constraint failed: settlement_order.user_uuid',), <traceback object at 0x7f766d782e88>) |
params | {'product_id': '400060-15019082607', 'transaction_id': '9faa6ae30736c885cfdf65f319c438933a02e23b', 'user_uuid': None} |
lookup | {'product_id': '400060-15019082607', 'transaction_id': '9faa6ae30736c885cfdf65f319c438933a02e23b', 'user_uuid': None} |
self | [<Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, '...(remaining elements truncated)...'] |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/utils/six.py
in reraise
exec_ = getattr(moves.builtins, "exec")
def reraise(tp, value, tb=None):
if value is None:
value = tp()
if value.__traceback__ is not tb:
raise value.with_traceback(tb)
raise value...
else:
def exec_(_code_, _globs_=None, _locs_=None):
"""Execute code in a namespace."""
if _globs_ is None:
frame = sys._getframe(1)
Variable | Value |
---|---|
value | IntegrityError('NOT NULL constraint failed: settlement_order.user_uuid',) |
tp | <class 'django.db.utils.IntegrityError'> |
tb | <traceback object at 0x7f766d782e88> |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/db/models/query.py
in _create_object_from_params
def _create_object_from_params(self, lookup, params):
"""
Tries to create an object using passed params.
Used by get_or_create and update_or_create
"""
try:
with transaction.atomic(using=self.db):
obj = self.create(**params)...
return obj, True
except IntegrityError:
exc_info = sys.exc_info()
try:
return self.get(**lookup), False
except self.model.DoesNotExist:
Variable | Value |
---|---|
exc_info | (<class 'django.db.utils.IntegrityError'>, IntegrityError('NOT NULL constraint failed: settlement_order.user_uuid',), <traceback object at 0x7f766d782e88>) |
params | {'product_id': '400060-15019082607', 'transaction_id': '9faa6ae30736c885cfdf65f319c438933a02e23b', 'user_uuid': None} |
lookup | {'product_id': '400060-15019082607', 'transaction_id': '9faa6ae30736c885cfdf65f319c438933a02e23b', 'user_uuid': None} |
self | [<Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, '...(remaining elements truncated)...'] |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/db/models/query.py
in create
def create(self, **kwargs):
"""
Creates a new object with the given kwargs, saving it to the database
and returning the created object.
"""
obj = self.model(**kwargs)
self._for_write = True
obj.save(force_insert=True, using=self.db)...
return obj
def _populate_pk_values(self, objs):
for obj in objs:
if obj.pk is None:
obj.pk = obj._meta.pk.get_pk_value_on_save(obj)
Variable | Value |
---|---|
kwargs | {'product_id': '400060-15019082607', 'transaction_id': '9faa6ae30736c885cfdf65f319c438933a02e23b', 'user_uuid': None} |
self | [<Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, '...(remaining elements truncated)...'] |
obj | <Order: Order object> |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/db/models/base.py
in save
]
loaded_fields = field_names.difference(deferred_fields)
if loaded_fields:
update_fields = frozenset(loaded_fields)
self.save_base(using=using, force_insert=force_insert,
force_update=force_update, update_fields=update_fields)...
save.alters_data = True
def save_base(self, raw=False, force_insert=False,
force_update=False, using=None, update_fields=None):
"""
Handles the parts of saving which should be done only once per save,
Variable | Value |
---|---|
field | <django.db.models.fields.DateTimeField: updated_at> |
self | <Order: Order object> |
using | 'default' |
force_update | False |
update_fields | None |
force_insert | True |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/db/models/base.py
in save_base
meta = cls._meta
if not meta.auto_created:
signals.pre_save.send(sender=origin, instance=self, raw=raw, using=using,
update_fields=update_fields)
with transaction.atomic(using=using, savepoint=False):
if not raw:
self._save_parents(cls, using, update_fields)
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)...
# Store the database on which the object was saved
self._state.db = using
# Once saved, this is no longer a to-be-added instance.
self._state.adding = False
# Signal that the save is complete
Variable | Value |
---|---|
raw | False |
origin | <class 'settlement.models.Order'> |
using | 'default' |
meta | <Options for Order> |
cls | <class 'settlement.models.Order'> |
force_update | False |
update_fields | None |
force_insert | True |
self | <Order: Order object> |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/db/models/base.py
in _save_table
self._order = order_value
fields = meta.local_concrete_fields
if not pk_set:
fields = [f for f in fields if not isinstance(f, AutoField)]
update_pk = bool(meta.has_auto_field and not pk_set)
result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)...
if update_pk:
setattr(self, meta.pk.attname, result)
return updated
def _do_update(self, base_qs, using, pk_val, values, update_fields, forced_update):
"""
Variable | Value |
---|---|
raw | False |
using | 'default' |
meta | <Options for Order> |
fields | [<django.db.models.fields.CharField: transaction_id>, <django.db.models.fields.CharField: user_uuid>, <django.db.models.fields.CharField: product_id>, <django.db.models.fields.DateTimeField: created_at>, <django.db.models.fields.DateTimeField: updated_at>] |
non_pks | [<django.db.models.fields.CharField: transaction_id>, <django.db.models.fields.CharField: user_uuid>, <django.db.models.fields.CharField: product_id>, <django.db.models.fields.DateTimeField: created_at>, <django.db.models.fields.DateTimeField: updated_at>] |
force_insert | True |
pk_set | False |
pk_val | None |
self | <Order: Order object> |
update_pk | True |
cls | <class 'settlement.models.Order'> |
force_update | False |
update_fields | None |
updated | False |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/db/models/base.py
in _do_insert
def _do_insert(self, manager, using, fields, update_pk, raw):
"""
Do an INSERT. If update_pk is defined then this method should return
the new pk for the model.
"""
return manager._insert([self], fields=fields, return_id=update_pk,
using=using, raw=raw)...
def delete(self, using=None, keep_parents=False):
using = using or router.db_for_write(self.__class__, instance=self)
assert self._get_pk_val() is not None, (
"%s object can't be deleted because its %s attribute is set to None." %
(self._meta.object_name, self._meta.pk.attname)
Variable | Value |
---|---|
manager | <django.db.models.manager.Manager object at 0x7f766f3fd438> |
self | <Order: Order object> |
raw | False |
update_pk | True |
fields | [<django.db.models.fields.CharField: transaction_id>, <django.db.models.fields.CharField: user_uuid>, <django.db.models.fields.CharField: product_id>, <django.db.models.fields.DateTimeField: created_at>, <django.db.models.fields.DateTimeField: updated_at>] |
using | 'default' |
/var/www/django/env/keibagp/lib/python3.5/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 = {}
# Refs http://bugs.python.org/issue1785.
Variable | Value |
---|---|
args | ([<Order: Order object>],) |
name | '_insert' |
kwargs | {'fields': [<django.db.models.fields.CharField: transaction_id>, <django.db.models.fields.CharField: user_uuid>, <django.db.models.fields.CharField: product_id>, <django.db.models.fields.DateTimeField: created_at>, <django.db.models.fields.DateTimeField: updated_at>], 'raw': False, 'return_id': True, 'using': 'default'} |
self | <django.db.models.manager.Manager object at 0x7f766f3fd438> |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/db/models/query.py
in _insert
the InsertQuery class and is how Model.save() is implemented.
"""
self._for_write = True
if using is None:
using = self.db
query = sql.InsertQuery(self.model)
query.insert_values(fields, objs, raw=raw)
return query.get_compiler(using=using).execute_sql(return_id)...
_insert.alters_data = True
_insert.queryset_only = False
def _batched_insert(self, objs, fields, batch_size):
"""
A little helper method for bulk_insert to insert the bulk one batch
Variable | Value |
---|---|
objs | [<Order: Order object>] |
self | [<Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, <Order: Order object>, '...(remaining elements truncated)...'] |
raw | False |
using | 'default' |
fields | [<django.db.models.fields.CharField: transaction_id>, <django.db.models.fields.CharField: user_uuid>, <django.db.models.fields.CharField: product_id>, <django.db.models.fields.DateTimeField: created_at>, <django.db.models.fields.DateTimeField: updated_at>] |
return_id | True |
query | <django.db.models.sql.subqueries.InsertQuery object at 0x7f766c6a85c0> |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/db/models/sql/compiler.py
in execute_sql
]
def execute_sql(self, return_id=False):
assert not (return_id and len(self.query.objs) != 1)
self.return_id = return_id
with self.connection.cursor() as cursor:
for sql, params in self.as_sql():
cursor.execute(sql, params)...
if not (return_id and cursor):
return
if self.connection.features.can_return_id_from_insert:
return self.connection.ops.fetch_returned_insert_id(cursor)
return self.connection.ops.last_insert_id(cursor,
self.query.get_meta().db_table, self.query.get_meta().pk.column)
Variable | Value |
---|---|
cursor | <django.db.backends.utils.CursorDebugWrapper object at 0x7f766c6a84a8> |
sql | ('INSERT INTO "settlement_order" ("transaction_id", "user_uuid", "product_id", ' '"created_at", "updated_at") VALUES (%s, %s, %s, %s, %s)') |
return_id | True |
self | <django.db.models.sql.compiler.SQLInsertCompiler object at 0x7f766c6a84e0> |
params | ['9faa6ae30736c885cfdf65f319c438933a02e23b', None, '400060-15019082607', '2024-03-28 20:49:47.832108', '2024-03-28 20:49:47.832142'] |
/var/www/django/env/keibagp/lib/python3.5/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(CursorDebugWrapper, self).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'> |
sql | ('INSERT INTO "settlement_order" ("transaction_id", "user_uuid", "product_id", ' '"created_at", "updated_at") VALUES ' "('9faa6ae30736c885cfdf65f319c438933a02e23b', NULL, '400060-15019082607', " "'2024-03-28 20:49:47.832108', '2024-03-28 20:49:47.832142')") |
start | 1711626587.8321817 |
params | ['9faa6ae30736c885cfdf65f319c438933a02e23b', None, '400060-15019082607', '2024-03-28 20:49:47.832108', '2024-03-28 20:49:47.832142'] |
duration | 0.00010347366333007812 |
stop | 1711626587.8322852 |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f766c6a84a8> |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/db/backends/utils.py
in execute
def execute(self, sql, params=None):
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):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
return self.cursor.executemany(sql, param_list)
Variable | Value |
---|---|
sql | ('INSERT INTO "settlement_order" ("transaction_id", "user_uuid", "product_id", ' '"created_at", "updated_at") VALUES (%s, %s, %s, %s, %s)') |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f766c6a84a8> |
params | ['9faa6ae30736c885cfdf65f319c438933a02e23b', None, '400060-15019082607', '2024-03-28 20:49:47.832108', '2024-03-28 20:49:47.832142'] |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/db/utils.py
in __exit__
if issubclass(exc_type, db_exc_type):
dj_exc_value = dj_exc_type(*exc_value.args)
dj_exc_value.__cause__ = exc_value
# 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
six.reraise(dj_exc_type, dj_exc_value, traceback)...
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 'sqlite3.IntegrityError'> |
traceback | <traceback object at 0x7f766cb0a4c8> |
self | <django.db.utils.DatabaseErrorWrapper object at 0x7f766e4d4208> |
exc_value | IntegrityError('NOT NULL constraint failed: settlement_order.user_uuid',) |
dj_exc_type | <class 'django.db.utils.IntegrityError'> |
exc_type | <class 'sqlite3.IntegrityError'> |
dj_exc_value | IntegrityError('NOT NULL constraint failed: settlement_order.user_uuid',) |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/utils/six.py
in reraise
if PY3:
exec_ = getattr(moves.builtins, "exec")
def reraise(tp, value, tb=None):
if value is None:
value = tp()
if value.__traceback__ is not tb:
raise value.with_traceback(tb)...
raise value
else:
def exec_(_code_, _globs_=None, _locs_=None):
"""Execute code in a namespace."""
if _globs_ is None:
Variable | Value |
---|---|
value | IntegrityError('NOT NULL constraint failed: settlement_order.user_uuid',) |
tp | <class 'django.db.utils.IntegrityError'> |
tb | <traceback object at 0x7f766cb0a4c8> |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/db/backends/utils.py
in execute
def execute(self, sql, params=None):
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):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
return self.cursor.executemany(sql, param_list)
Variable | Value |
---|---|
sql | ('INSERT INTO "settlement_order" ("transaction_id", "user_uuid", "product_id", ' '"created_at", "updated_at") VALUES (%s, %s, %s, %s, %s)') |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f766c6a84a8> |
params | ['9faa6ae30736c885cfdf65f319c438933a02e23b', None, '400060-15019082607', '2024-03-28 20:49:47.832108', '2024-03-28 20:49:47.832142'] |
/var/www/django/env/keibagp/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py
in execute
This fixes it -- but note that if you want to use a literal "%s" in a query,
you'll need to use "%%s".
"""
def execute(self, query, params=None):
if params is None:
return Database.Cursor.execute(self, query)
query = self.convert_query(query)
return Database.Cursor.execute(self, query, params)...
def executemany(self, query, param_list):
query = self.convert_query(query)
return Database.Cursor.executemany(self, query, param_list)
def convert_query(self, query):
Variable | Value |
---|---|
query | ('INSERT INTO "settlement_order" ("transaction_id", "user_uuid", "product_id", ' '"created_at", "updated_at") VALUES (?, ?, ?, ?, ?)') |
params | ['9faa6ae30736c885cfdf65f319c438933a02e23b', None, '400060-15019082607', '2024-03-28 20:49:47.832108', '2024-03-28 20:49:47.832142'] |
self | <django.db.backends.sqlite3.base.SQLiteCursorWrapper object at 0x7f766cb641f8> |
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_HOST | 'localhost:8000' |
PATH_INFO | '/settlement/ips/purchase/400060-15019082607' |
wsgi.input | <gunicorn.http.body.Body object at 0x7f766cc4e9b0> |
REMOTE_PORT | '34276' |
REQUEST_METHOD | 'GET' |
HTTP_X_FORWARDED_HOST | 'www.keiba-gp.net' |
wsgi.multiprocess | True |
wsgi.file_wrapper | '' |
REMOTE_ADDR | '127.0.0.1' |
wsgi.version | (1, 0) |
HTTP_USER_AGENT | 'claudebot' |
wsgi.multithread | False |
HTTP_X_FORWARDED_PROTO | 'https' |
wsgi.url_scheme | 'https' |
SERVER_PROTOCOL | 'HTTP/1.1' |
SERVER_PORT | '8000' |
SERVER_SOFTWARE | 'gunicorn/19.6.0' |
SCRIPT_NAME | '' |
gunicorn.socket | <socket.socket fd=13, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 8000), raddr=('127.0.0.1', 34276)> |
HTTP_CONNECTION | 'Keep-Alive' |
QUERY_STRING | '' |
HTTP_X_FORWARDED_FOR | '44.204.34.64' |
HTTP_ACCEPT | '*/*' |
HTTP_X_FORWARDED_SERVER | 'www.keiba-gp.net' |
SERVER_NAME | '0.0.0.0' |
RAW_URI | '/settlement/ips/purchase/400060-15019082607' |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f766cc4e390> |
wsgi.run_once | False |
keibagp.settings
Setting | Value |
---|---|
AUTH_USER_MODEL | 'auth.User' |
CSRF_COOKIE_DOMAIN | None |
DEBUG | True |
EMAIL_HOST | 'localhost' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
LOCALE_PATHS | [] |
EMAIL_USE_SSL | False |
SETTINGS_MODULE | 'keibagp.settings' |
FIRST_DAY_OF_WEEK | 0 |
LOGIN_URL | '/accounts/login/' |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SESSION_COOKIE_PATH | '/' |
PACKAGE_NAME_FILEBROWSER | 'filebrowser_safe' |
SECRET_KEY | '********************' |
PROJECT_ROOT | '/var/www/django/keibagp' |
CSRF_COOKIE_NAME | 'csrftoken' |
DEVICE_USER_AGENTS | (('smapho', ('android', 'blackberry', 'iphone', 'ipod', 'windows phone')), ('galakei', ('docomo', 'up.browser', 'softbank', 'vodafone', 'j-phone', 'mot-', 'willcom', 'emobile')), ('desktop', ('windows', 'macintosh', 'linux', 'ipad'))) |
TIME_FORMAT | 'G:i:s' |
GMO_SHOPID | '9200005040389' |
SITE_ID | 1 |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
SESSION_COOKIE_SECURE | False |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y'] |
EMAIL_PORT | 25 |
LANGUAGE_COOKIE_NAME | 'django_language' |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
KEIBAGP_HOSTNAME | 'www.keiba-gp.net' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SECURE_SSL_HOST | None |
GMO_PASSWORD | '********************' |
TEMPLATE_STRING_IF_INVALID | '' |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
FORCE_SCRIPT_NAME | None |
ROOT_URLCONF | 'keibagp.urls' |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.sqlite3', 'HOST': '', 'NAME': '/var/www/django/keibagp/db.sqlite3', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': ''}, 'keiba_ez': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'mysql.connector.django', 'HOST': 'keibadb1v', 'NAME': 'keiba_ez', 'OPTIONS': {'charset': 'sjis', 'collation': 'sjis_japanese_ci', 'use_unicode': False}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'keiba_sp_user'}, 'keiba_sp': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'mysql.connector.django', 'HOST': 'keibadb1v', 'NAME': 'keiba_sp', 'OPTIONS': {'charset': 'sjis', 'collation': 'sjis_japanese_ci', 'use_unicode': False}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'keiba_sp_user'}} |
EMAIL_HOST_PASSWORD | '********************' |
DEFAULT_CONTENT_TYPE | 'text/html' |
USE_X_FORWARDED_PORT | False |
DEBUG_PROPAGATE_EXCEPTIONS | False |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
NUMBER_GROUPING | 0 |
USE_TZ | False |
LOGGING_CONFIG | 'logging.config.dictConfig' |
DATE_FORMAT | 'Y年n月j日' |
FILE_CHARSET | 'utf-8' |
DEFAULT_CHARSET | 'utf-8' |
MIGRATION_MODULES | {} |
USE_X_FORWARDED_HOST | False |
LANGUAGE_CODE | 'ja' |
DISALLOWED_USER_AGENTS | [] |
MANAGERS | [] |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
DEV_SERVER | False |
DATABASE_ROUTERS | ['keibagp.dbrouter.DBRouter'] |
FOLLOW_STATICFILES_URLPATTERNS | True |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
EMAIL_USE_TLS | False |
INSTALLED_APPS | ('mezzanine.boot', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.redirects', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.sitemaps', 'mezzanine.conf', 'mezzanine.core', 'mezzanine.generic', 'mezzanine.pages', 'mezzanine.blog', 'mezzanine.forms', 'mezzanine.galleries', 'mezzanine.twitter', 'mezzanine.mobile', 'skin', 'gunicorn', 'import_export', 'keiba_sp', 'keiba_ez', 'galakei', 'advman', 'api', 'website', 'settlement', 'w1v', 'filebrowser_safe', 'grappelli_safe', 'django.contrib.admin', 'django.contrib.staticfiles', 'django_comments') |
CSRF_COOKIE_PATH | '/' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | True |
SESSION_SAVE_EVERY_REQUEST | False |
CSRF_COOKIE_HTTPONLY | False |
OPTIONAL_APPS | ('debug_toolbar', 'django_extensions', 'compressor', 'filebrowser_safe', 'grappelli_safe') |
DECIMAL_SEPARATOR | '.' |
STATIC_ROOT | '/var/www/django/keibagp/keibagp/static' |
SESSION_FILE_PATH | None |
AUTHENTICATION_BACKENDS | ['mezzanine.core.auth_backends.MezzanineBackend'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
SHORT_DATETIME_FORMAT | 'Y/m/d G:i:s' |
SESSION_COOKIE_AGE | 1209600 |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
LOGGING | {'formatters': {'all': {'format': '%(asctime)s||%(levelname)s||%(module)s||%(process)d||%(thread)d||%(message)s'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'formatter': 'all', 'level': 'DEBUG'}, 'file_no_rotation': {'class': 'logging.FileHandler', 'filename': '/tmp/file_no_rotation.log', 'formatter': 'all', 'level': 'DEBUG'}, 'file_size_rotation': {'backupCount': 10, 'class': 'logging.handlers.RotatingFileHandler', 'filename': '/tmp/file_size_rotation.log', 'formatter': 'all', 'level': 'DEBUG', 'maxBytes': 1048576}, 'file_time_rotation': {'backupCount': 30, 'class': 'logging.handlers.TimedRotatingFileHandler', 'filename': '/tmp/file_time_rotation.log', 'formatter': 'all', 'interval': 1, 'level': 'DEBUG', 'when': 'D'}}, 'loggers': {'keibagp.middleware': {'handlers': ['console'], 'level': 'INFO'}, 'settlement.providers.ips': {'handlers': ['console'], 'level': 'INFO'}, 'settlement.providers.netcash': {'handlers': ['console'], 'level': 'INFO'}, 'settlement.views.ips_views': {'handlers': ['console'], 'level': 'INFO'}, 'website.models': {'handlers': ['console'], 'level': 'INFO'}}, 'version': 1} |
LANGUAGE_COOKIE_AGE | None |
USE_ETAGS | False |
FILE_UPLOAD_TEMP_DIR | None |
SECURE_REDIRECT_EXEMPT | [] |
LOGGING_PATH | '/tmp/' |
DJANGO_VERSION | (1, 9, 7, 'final', 0) |
PREPEND_WWW | False |
SESSION_COOKIE_HTTPONLY | True |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
LANGUAGES_BIDI | ['he', 'ar', 'fa', 'ur'] |
USE_THOUSAND_SEPARATOR | False |
CSRF_COOKIE_SECURE | False |
X_FRAME_OPTIONS | 'SAMEORIGIN' |
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'] |
ADMINS | [] |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
TEMPLATE_DIRS | [] |
FIXTURE_DIRS | [] |
PASSWORD_HASHERS | '********************' |
SESSION_COOKIE_DOMAIN | None |
MEDIA_ROOT | '/var/www/django/keibagp/media' |
THOUSAND_SEPARATOR | ',' |
USE_L10N | False |
SECURE_PROXY_SSL_HEADER | ('HTTP_X_FORWARDED_PROTO', 'https') |
SESSION_COOKIE_SAMESITE | 'None' |
TEMPLATE_LOADERS | ['django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader'] |
EMAIL_SSL_KEYFILE | '********************' |
ALLOWED_HOSTS | ['*'] |
COMMENTS_APP | 'mezzanine.generic' |
TESTING | False |
PROJECT_APP | 'keibagp' |
DEFAULT_INDEX_TABLESPACE | '' |
STATIC_URL | '/static/' |
PACKAGE_NAME_GRAPPELLI | 'grappelli_safe' |
SESSION_CACHE_ALIAS | 'default' |
STATICFILES_DIRS | [] |
EMAIL_TIMEOUT | None |
SERVER_EMAIL | 'root@localhost' |
IPS_SUCCESS_CODE | 'THANKS' |
GRAPPELLI_INSTALLED | True |
TEST_NON_SERIALIZED_APPS | [] |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/www/django/keibagp/templates'], 'OPTIONS': {'builtins': ['mezzanine.template.loader_tags'], 'context_processors': ['django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'django.template.context_processors.debug', 'django.template.context_processors.i18n', 'django.template.context_processors.static', 'django.template.context_processors.media', 'django.template.context_processors.request', 'django.template.context_processors.tz', 'mezzanine.conf.context_processors.settings', 'mezzanine.pages.context_processors.page']}}] |
MEDIA_URL | '/media/' |
SHORT_DATE_FORMAT | 'Y/m/d' |
MIDDLEWARE_CLASSES | ('django_cookies_samesite.middleware.CookiesSameSite', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'mezzanine.core.request.CurrentRequestMiddleware', 'mezzanine.core.middleware.RedirectFallbackMiddleware', 'keibagp.middleware.SetDeviceMiddleware', 'keibagp.middleware.TemplateForDeviceMiddleware', 'mezzanine.core.middleware.TemplateForHostMiddleware', 'mezzanine.core.middleware.AdminLoginInterfaceSelectorMiddleware', 'mezzanine.core.middleware.SitePermissionMiddleware', 'mezzanine.pages.middleware.PageMiddleware', 'keibagp.middleware.OutputCharasetMiddleware', 'keibagp.middleware.SetUUIDMiddleware') |
FORMAT_MODULE_PATH | None |
CACHE_MIDDLEWARE_ALIAS | 'default' |
INTERNAL_IPS | [] |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
NEVERCACHE_KEY | '********************' |
MONTH_DAY_FORMAT | 'n月j日' |
SECURE_HSTS_SECONDS | 0 |
APPEND_SLASH | True |
BASE_DIR | '/var/www/django/keibagp' |
WSGI_APPLICATION | None |
TEMPLATE_CONTEXT_PROCESSORS | ['django.contrib.auth.context_processors.auth', 'django.template.context_processors.debug', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.contrib.messages.context_processors.messages'] |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
USE_I18N | True |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
SESSION_COOKIE_NAME | 'sessionid' |
EMAIL_HOST_USER | '' |
CSRF_COOKIE_AGE | 31449600 |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
PROJECT_APP_PATH | '/var/www/django/keibagp/keibagp' |
ALLOWED_INCLUDE_ROOTS | [] |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
DATETIME_FORMAT | 'Y年n月j日G:i:s' |
DEFAULT_TABLESPACE | '' |
TINYMCE_SETUP_JS | '/static/js/tinymce_setup.js' |
LANGUAGE_COOKIE_PATH | '/' |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
EMAIL_SSL_CERTFILE | None |
NETCASH_SHOPID | '3LY' |
SILENCED_SYSTEM_CHECKS | [] |
SECURE_SSL_REDIRECT | False |
CSRF_TRUSTED_ORIGINS | ['keiba-gp.net', 'www.keiba-gp.net'] |
LANGUAGES | (('ja', ''),) |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
SECURE_CONTENT_TYPE_NOSNIFF | False |
LOGOUT_URL | '/accounts/logout/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.cookie.CookieStorage' |
TIME_ZONE | 'Asia/Tokyo' |
FILE_UPLOAD_PERMISSIONS | 420 |
LANGUAGE_COOKIE_DOMAIN | None |
IGNORABLE_404_URLS | [] |
DEVICE_DEFAULT | 'desktop' |
YEAR_MONTH_FORMAT | 'Y年n月' |
TEMPLATE_DEBUG | False |
ABSOLUTE_URL_OVERRIDES | {} |
USE_MODELTRANSLATION | False |
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.