permission denied for table django_session
Request Method: | GET |
---|---|
Request URL: | https://upload.openhumans.org/ |
Django Version: | 2.2.7 |
Exception Type: | ProgrammingError |
Exception Value: | permission denied for table django_session |
Exception Location: | /app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py in _execute, line 84 |
Python Executable: | /app/.heroku/python/bin/python |
Python Version: | 3.6.9 |
Python Path: | ['/app/.heroku/python/bin', '/app', '/app/.heroku/python/lib/python36.zip', '/app/.heroku/python/lib/python3.6', '/app/.heroku/python/lib/python3.6/lib-dynload', '/app/.heroku/python/lib/python3.6/site-packages'] |
Server time: | Thu, 28 Mar 2024 20:47:06 +0000 |
/app/.heroku/python/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.postgresql.base.DatabaseWrapper object at 0x7f852ebb5080>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f8528e6ecf8>}) |
params | ('9tcioerr20yl8mzrqpb2wtd3rk33jbtf', 'OWI1YzAyNjg4OTJlNzU3YTUyZjFiNDFiZjBiOWE2NTIxNDFiYzExMzp7ImxhdGVzdF9hbm9uIjoiaW5kZXgifQ==', datetime.datetime(2024, 4, 11, 20, 47, 6, 587856, tzinfo=<UTC>)) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f8528e6ecf8> |
sql | ('INSERT INTO "django_session" ("session_key", "session_data", "expire_date") ' 'VALUES (%s, %s, %s)') |
/app/.heroku/python/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('permission denied for table django_session\n',) |
get_response | <django.contrib.sessions.middleware.SessionMiddleware object at 0x7f85298e2eb8> |
request | <WSGIRequest: GET '/'> |
/app/.heroku/python/lib/python3.6/site-packages/django/utils/deprecation.py
in __call__
def __call__(self, request):
response = None
if hasattr(self, 'process_request'):
response = self.process_request(request)
response = response or self.get_response(request)
if hasattr(self, 'process_response'):
response = self.process_response(request, response)…
return response
Variable | Value |
---|---|
request | <WSGIRequest: GET '/'> |
response | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
self | <django.contrib.sessions.middleware.SessionMiddleware object at 0x7f85298e2eb8> |
/app/.heroku/python/lib/python3.6/site-packages/django/contrib/sessions/middleware.py
in process_response
max_age = request.session.get_expiry_age()
expires_time = time.time() + max_age
expires = http_date(expires_time)
# Save the session data and refresh the client cookie.
# Skip session save for 500 responses, refs #3881.
if response.status_code != 500:
try:
request.session.save()…
except UpdateError:
raise SuspiciousOperation(
"The request's session was deleted before the "
"request completed. The user may have logged "
"out in a concurrent request, for example."
)
Variable | Value |
---|---|
accessed | True |
empty | False |
expires | 'Thu, 11 Apr 2024 20:47:06 GMT' |
expires_time | 1712868426.5750005 |
max_age | 1209600 |
modified | True |
request | <WSGIRequest: GET '/'> |
response | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
self | <django.contrib.sessions.middleware.SessionMiddleware object at 0x7f85298e2eb8> |
/app/.heroku/python/lib/python3.6/site-packages/django/contrib/sessions/backends/db.py
in save
def save(self, must_create=False):
"""
Save the current session data to the database. If 'must_create' is
True, raise a database error if the saving operation doesn't create a
new entry (as opposed to possibly updating an existing entry).
"""
if self.session_key is None:
return self.create()…
data = self._get_session(no_load=must_create)
obj = self.create_model_instance(data)
using = router.db_for_write(self.model, instance=obj)
try:
with transaction.atomic(using=using):
obj.save(force_insert=must_create, force_update=not must_create, using=using)
Variable | Value |
---|---|
must_create | False |
self | <django.contrib.sessions.backends.db.SessionStore object at 0x7f8528e6ecc0> |
/app/.heroku/python/lib/python3.6/site-packages/django/contrib/sessions/backends/db.py
in create
def create(self):
while True:
self._session_key = self._get_new_session_key()
try:
# Save immediately to ensure we have a unique entry in the
# database.
self.save(must_create=True)…
except CreateError:
# Key wasn't unique. Try again.
continue
self.modified = True
return
Variable | Value |
---|---|
self | <django.contrib.sessions.backends.db.SessionStore object at 0x7f8528e6ecc0> |
/app/.heroku/python/lib/python3.6/site-packages/django/contrib/sessions/backends/db.py
in save
if self.session_key is None:
return self.create()
data = self._get_session(no_load=must_create)
obj = self.create_model_instance(data)
using = router.db_for_write(self.model, instance=obj)
try:
with transaction.atomic(using=using):
obj.save(force_insert=must_create, force_update=not must_create, using=using)…
except IntegrityError:
if must_create:
raise CreateError
raise
except DatabaseError:
if not must_create:
Variable | Value |
---|---|
data | {'latest_anon': 'index'} |
must_create | True |
obj | <Session: 9tcioerr20yl8mzrqpb2wtd3rk33jbtf> |
self | <django.contrib.sessions.backends.db.SessionStore object at 0x7f8528e6ecc0> |
using | 'default' |
/app/.heroku/python/lib/python3.6/site-packages/django/db/models/base.py
in save
if not field.primary_key and not hasattr(field, 'through'):
field_names.add(field.attname)
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):
"""
Handle the parts of saving which should be done only once per save,
Variable | Value |
---|---|
deferred_fields | set() |
field | <django.db.models.fields.DateTimeField: expire_date> |
force_insert | True |
force_update | False |
self | <Session: 9tcioerr20yl8mzrqpb2wtd3rk33jbtf> |
update_fields | None |
using | 'default' |
/app/.heroku/python/lib/python3.6/site-packages/django/db/models/base.py
in save_base
context_manager = transaction.mark_for_rollback_on_error(using=using)
with context_manager:
parent_inserted = False
if not raw:
parent_inserted = self._save_parents(cls, using, update_fields)
updated = self._save_table(
raw, cls, force_insert or parent_inserted,
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
Variable | Value |
---|---|
cls | <class 'django.contrib.sessions.models.Session'> |
context_manager | <contextlib._GeneratorContextManager object at 0x7f8528e6e438> |
force_insert | True |
force_update | False |
meta | <Options for Session> |
origin | <class 'django.contrib.sessions.models.Session'> |
parent_inserted | False |
raw | False |
self | <Session: 9tcioerr20yl8mzrqpb2wtd3rk33jbtf> |
update_fields | None |
using | 'default' |
/app/.heroku/python/lib/python3.6/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 f is not meta.auto_field]
update_pk = meta.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 |
---|---|
cls | <class 'django.contrib.sessions.models.Session'> |
fields | (<django.db.models.fields.CharField: session_key>, <django.db.models.fields.TextField: session_data>, <django.db.models.fields.DateTimeField: expire_date>) |
force_insert | True |
force_update | False |
meta | <Options for Session> |
non_pks | [<django.db.models.fields.TextField: session_data>, <django.db.models.fields.DateTimeField: expire_date>] |
pk_set | True |
pk_val | '9tcioerr20yl8mzrqpb2wtd3rk33jbtf' |
raw | False |
self | <Session: 9tcioerr20yl8mzrqpb2wtd3rk33jbtf> |
update_fields | None |
update_pk | None |
updated | False |
using | 'default' |
/app/.heroku/python/lib/python3.6/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.pk 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 |
---|---|
fields | (<django.db.models.fields.CharField: session_key>, <django.db.models.fields.TextField: session_data>, <django.db.models.fields.DateTimeField: expire_date>) |
manager | <django.db.models.manager.Manager object at 0x7f85293c2710> |
raw | False |
self | <Session: 9tcioerr20yl8mzrqpb2wtd3rk33jbtf> |
update_pk | None |
using | 'default' |
/app/.heroku/python/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 | ([<Session: 9tcioerr20yl8mzrqpb2wtd3rk33jbtf>],) |
kwargs | {'fields': (<django.db.models.fields.CharField: session_key>, <django.db.models.fields.TextField: session_data>, <django.db.models.fields.DateTimeField: expire_date>), 'raw': False, 'return_id': None, 'using': 'default'} |
name | '_insert' |
self | <django.db.models.manager.Manager object at 0x7f85293c2710> |
/app/.heroku/python/lib/python3.6/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, ignore_conflicts=ignore_conflicts)
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, ignore_conflicts=False):
"""
Helper method for bulk_create() to insert objs one batch at a time.
Variable | Value |
---|---|
fields | (<django.db.models.fields.CharField: session_key>, <django.db.models.fields.TextField: session_data>, <django.db.models.fields.DateTimeField: expire_date>) |
ignore_conflicts | False |
objs | [<Session: 9tcioerr20yl8mzrqpb2wtd3rk33jbtf>] |
query | <django.db.models.sql.subqueries.InsertQuery object at 0x7f8528e6e6a0> |
raw | False |
return_id | None |
self | <QuerySet [<Session: mcrb7ev6xudng2po2egmlzresf11w9lp>, <Session: x5u9ygh8rd9px9p9bfjjmnnry732w67r>, <Session: da6x8xbsufkgpdx5n8ea9tvhg0xb0f4m>, <Session: wlq7zxe4gx53q3d5kzwbauu0dcpi0mdh>, <Session: w985u1gf4i0vgfodgijtwkld76wcmawl>, <Session: jalf57bziusa70fhhe2hjocpw5zsrzom>, <Session: f62u1nr8p9tjv57tyuzimv194cc7bb0y>, <Session: n2tpw27fbemahwm106wk30yrrfjph1rc>, <Session: xtardsgx04xkhud27e20alvr9co3t3rw>, <Session: cfdk8emn2h7g4e0yrxfjezz9qckwv7wf>, <Session: btbp354ufso199inuey3s0m6sjxpw085>, <Session: d4ebkmlr0jen0s46ixe07gs83ey7l7eu>, <Session: 9620t3o34ycmjs8t6fg9xjxgx93n911s>, <Session: mjncp7vxaz24gyn55bn2t1bjixgd72kx>, <Session: dwr9otew06xfpwb208rpj8e9p9gemxkx>, <Session: zzqjhz0m2p8n6rxd30sqz2b3ig3y515e>, <Session: 5pifk1y4b1ag7gfp4jym8xpfauz0fsbr>, <Session: h747swsa7dvdepuyjby6b9jnjbn6ibs4>, <Session: la06v0cfijz5nt92it9orc97whgberv3>, <Session: wmufo1v7qsxmcet1exap4thvnirjlotg>, '...(remaining elements truncated)...']> |
using | 'default' |
/app/.heroku/python/lib/python3.6/site-packages/django/db/models/sql/compiler.py
in execute_sql
assert not (
return_id and len(self.query.objs) != 1 and
not self.connection.features.can_return_ids_from_bulk_insert
)
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:
return
if self.connection.features.can_return_ids_from_bulk_insert and len(self.query.objs) > 1:
return self.connection.ops.fetch_returned_insert_ids(cursor)
if self.connection.features.can_return_id_from_insert:
assert len(self.query.objs) == 1
Variable | Value |
---|---|
cursor | <django.db.backends.utils.CursorDebugWrapper object at 0x7f8528e6ecf8> |
params | ('9tcioerr20yl8mzrqpb2wtd3rk33jbtf', 'OWI1YzAyNjg4OTJlNzU3YTUyZjFiNDFiZjBiOWE2NTIxNDFiYzExMzp7ImxhdGVzdF9hbm9uIjoiaW5kZXgifQ==', datetime.datetime(2024, 4, 11, 20, 47, 6, 587856, tzinfo=<UTC>)) |
return_id | None |
self | <django.db.models.sql.compiler.SQLInsertCompiler object at 0x7f8528e6e278> |
sql | ('INSERT INTO "django_session" ("session_key", "session_data", "expire_date") ' 'VALUES (%s, %s, %s)') |
/app/.heroku/python/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.0012006759643554688 |
params | ('9tcioerr20yl8mzrqpb2wtd3rk33jbtf', 'OWI1YzAyNjg4OTJlNzU3YTUyZjFiNDFiZjBiOWE2NTIxNDFiYzExMzp7ImxhdGVzdF9hbm9uIjoiaW5kZXgifQ==', datetime.datetime(2024, 4, 11, 20, 47, 6, 587856, tzinfo=<UTC>)) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f8528e6ecf8> |
sql | ('INSERT INTO "django_session" ("session_key", "session_data", "expire_date") ' "VALUES ('9tcioerr20yl8mzrqpb2wtd3rk33jbtf', " "'OWI1YzAyNjg4OTJlNzU3YTUyZjFiNDFiZjBiOWE2NTIxNDFiYzExMzp7ImxhdGVzdF9hbm9uIjoiaW5kZXgifQ==', " "'2024-04-11T20:47:06.587856+00:00'::timestamptz)") |
start | 1711658826.588084 |
stop | 1711658826.5892847 |
/app/.heroku/python/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 | ('9tcioerr20yl8mzrqpb2wtd3rk33jbtf', 'OWI1YzAyNjg4OTJlNzU3YTUyZjFiNDFiZjBiOWE2NTIxNDFiYzExMzp7ImxhdGVzdF9hbm9uIjoiaW5kZXgifQ==', datetime.datetime(2024, 4, 11, 20, 47, 6, 587856, tzinfo=<UTC>)) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f8528e6ecf8> |
sql | ('INSERT INTO "django_session" ("session_key", "session_data", "expire_date") ' 'VALUES (%s, %s, %s)') |
/app/.heroku/python/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.postgresql.base.DatabaseWrapper object at 0x7f852ebb5080>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f8528e6ecf8>} |
executor | <bound method CursorWrapper._execute of <django.db.backends.utils.CursorDebugWrapper object at 0x7f8528e6ecf8>> |
many | False |
params | ('9tcioerr20yl8mzrqpb2wtd3rk33jbtf', 'OWI1YzAyNjg4OTJlNzU3YTUyZjFiNDFiZjBiOWE2NTIxNDFiYzExMzp7ImxhdGVzdF9hbm9uIjoiaW5kZXgifQ==', datetime.datetime(2024, 4, 11, 20, 47, 6, 587856, tzinfo=<UTC>)) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f8528e6ecf8> |
sql | ('INSERT INTO "django_session" ("session_key", "session_data", "expire_date") ' 'VALUES (%s, %s, %s)') |
/app/.heroku/python/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.postgresql.base.DatabaseWrapper object at 0x7f852ebb5080>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f8528e6ecf8>}) |
params | ('9tcioerr20yl8mzrqpb2wtd3rk33jbtf', 'OWI1YzAyNjg4OTJlNzU3YTUyZjFiNDFiZjBiOWE2NTIxNDFiYzExMzp7ImxhdGVzdF9hbm9uIjoiaW5kZXgifQ==', datetime.datetime(2024, 4, 11, 20, 47, 6, 587856, tzinfo=<UTC>)) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f8528e6ecf8> |
sql | ('INSERT INTO "django_session" ("session_key", "session_data", "expire_date") ' 'VALUES (%s, %s, %s)') |
/app/.heroku/python/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 'psycopg2.ProgrammingError'> |
dj_exc_type | <class 'django.db.utils.ProgrammingError'> |
dj_exc_value | ProgrammingError('permission denied for table django_session\n',) |
exc_type | <class 'psycopg2.errors.InsufficientPrivilege'> |
exc_value | InsufficientPrivilege('permission denied for table django_session\n',) |
self | <django.db.utils.DatabaseErrorWrapper object at 0x7f85293c24a8> |
traceback | <traceback object at 0x7f85291165c8> |
/app/.heroku/python/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.postgresql.base.DatabaseWrapper object at 0x7f852ebb5080>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f8528e6ecf8>}) |
params | ('9tcioerr20yl8mzrqpb2wtd3rk33jbtf', 'OWI1YzAyNjg4OTJlNzU3YTUyZjFiNDFiZjBiOWE2NTIxNDFiYzExMzp7ImxhdGVzdF9hbm9uIjoiaW5kZXgifQ==', datetime.datetime(2024, 4, 11, 20, 47, 6, 587856, tzinfo=<UTC>)) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f8528e6ecf8> |
sql | ('INSERT INTO "django_session" ("session_key", "session_data", "expire_date") ' 'VALUES (%s, %s, %s)') |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_CONNECT_TIME | '0' |
HTTP_HOST | 'upload.openhumans.org' |
HTTP_TOTAL_ROUTE_TIME | '0' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_VIA | '1.1 vegur' |
HTTP_X_FORWARDED_FOR | '44.210.107.64' |
HTTP_X_FORWARDED_PORT | '443' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_REQUEST_ID | 'ecda5d41-3ba3-4af5-8f69-16d7a2950024' |
HTTP_X_REQUEST_START | '1711658826570' |
PATH_INFO | '/' |
QUERY_STRING | '' |
RAW_URI | '/' |
REMOTE_ADDR | '10.1.7.89' |
REMOTE_PORT | '32103' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | '0.0.0.0' |
SERVER_PORT | '17634' |
SERVER_PROTOCOL | 'HTTP/1.1' |
SERVER_SOFTWARE | 'gunicorn/19.9.0' |
gunicorn.socket | <socket.socket fd=10, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.19.39.70', 17634), raddr=('10.1.7.89', 32103)> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f8528e6e860> |
wsgi.file_wrapper | '' |
wsgi.input | <gunicorn.http.body.Body object at 0x7f8528e6e518> |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
oh_data_uploader.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 | '/app' |
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': 600, 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'HOST': 'ec2-34-239-241-121.compute-1.amazonaws.com', 'NAME': 'd4dletis093h5o', 'OPTIONS': {'sslmode': 'require'}, 'PASSWORD': '********************', 'PORT': 5432, 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'elghviritoilpl'}} |
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', 'openhumans', 'main'] |
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 | 'en-us' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LOCALE_PATHS | [] |
LOGGING | {'disable_existing_loggers': False, 'formatters': {'simple': {'format': '%(levelname)s %(message)s'}, 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S', 'format': '%(asctime)s [%(process)d] ' '[%(levelname)s] pathname=%(pathname)s ' 'lineno=%(lineno)s funcname=%(funcName)s ' '%(message)s'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'formatter': 'verbose', 'level': 'DEBUG'}, 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}}, 'loggers': {'testlogger': {'handlers': ['console'], 'level': 'INFO'}}, 'version': 1} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/' |
LOGIN_URL | '/' |
LOGOUT_REDIRECT_URL | '/' |
MANAGERS | [] |
MEDIA_ROOT | '' |
MEDIA_URL | '' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ('whitenoise.middleware.WhiteNoiseMiddleware', '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 |
ON_HEROKU | True |
OPENHUMANS_APP_BASE_URL | 'https://upload.openhumans.org' |
OPENHUMANS_CLIENT_ID | 'NmImv5Vma9vTP44bdk0Sx7lLRSWbeSi7hU7hcy4R' |
OPENHUMANS_CLIENT_SECRET | '********************' |
OPENHUMANS_OH_BASE_URL | 'https://www.openhumans.org' |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
ROOT_URLCONF | 'oh_data_uploader.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 | True |
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 | 'oh_data_uploader.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 | ('/app/static',) |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'whitenoise.storage.CompressedManifestStaticFilesStorage' |
STATIC_ROOT | '/app/staticfiles' |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], '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 | 'UTC' |
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 | 'oh_data_uploader.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.