database is locked
Request Method: | GET |
---|---|
Request URL: | https://www.truefood.tech/product/wf_theo-chocolate-organic-85-dark-chocolate-for-baking-d07e4d?store=all |
Django Version: | 2.2.7 |
Exception Type: | OperationalError |
Exception Value: | database is locked |
Exception Location: | /usr/lib/python3.8/site-packages/django/db/backends/sqlite3/base.py in execute, line 383 |
Python Executable: | /usr/local/bin/uwsgi |
Python Version: | 3.8.0 |
Python Path: | ['/home/ccnrresearcher/foodies', '/var/www', '.', '', '/var/www', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload', '/home/ccnrresearcher/.local/lib/python3.8/site-packages', '/usr/lib/python3.8/site-packages', '/home/ccnrresearcher/.local/lib/python3.8/site-packages/IPython/extensions'] |
Server time: | Fri, 29 Mar 2024 05:11:02 -0400 |
/usr/lib/python3.8/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.sqlite3.base.DatabaseWrapper object at 0x7fb078e502b0>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7fb02ced70d0>}) |
params | ('eba2qkcbx0od162ccstr1xg8hrnaxl3m',) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7fb02ced70d0> |
sql | ('SELECT (1) AS "a" FROM "django_session" WHERE "django_session"."session_key" ' '= %s LIMIT 1') |
/usr/lib/python3.8/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 |
---|---|
params | ('eba2qkcbx0od162ccstr1xg8hrnaxl3m',) |
query | ('SELECT (1) AS "a" FROM "django_session" WHERE "django_session"."session_key" ' '= ? LIMIT 1') |
self | <django.db.backends.sqlite3.base.SQLiteCursorWrapper object at 0x7fb02c797550> |
/usr/lib/python3.8/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 | OperationalError('database is locked') |
get_response | <django.contrib.sessions.middleware.SessionMiddleware object at 0x7fb078489b20> |
request | <WSGIRequest: GET '/product/wf_theo-chocolate-organic-85-dark-chocolate-for-baking-d07e4d?store=all'> |
/usr/lib/python3.8/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 '/product/wf_theo-chocolate-organic-85-dark-chocolate-for-baking-d07e4d?store=all'> |
response | <HttpResponse status_code=200, "text/html; charset=utf-8"> |
self | <django.contrib.sessions.middleware.SessionMiddleware object at 0x7fb078489b20> |
/usr/lib/python3.8/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 | 'Fri, 12 Apr 2024 09:10:53 GMT' |
expires_time | 1712913053.666574 |
max_age | 1209600 |
modified | True |
request | <WSGIRequest: GET '/product/wf_theo-chocolate-organic-85-dark-chocolate-for-baking-d07e4d?store=all'> |
response | <HttpResponse status_code=200, "text/html; charset=utf-8"> |
self | <django.contrib.sessions.middleware.SessionMiddleware object at 0x7fb078489b20> |
/usr/lib/python3.8/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 0x7fb02ced7760> |
/usr/lib/python3.8/site-packages/django/contrib/sessions/backends/db.py
in create
return self.decode(s.session_data) if s else {}
def exists(self, session_key):
return self.model.objects.filter(session_key=session_key).exists()
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.
Variable | Value |
---|---|
self | <django.contrib.sessions.backends.db.SessionStore object at 0x7fb02ced7760> |
/usr/lib/python3.8/site-packages/django/contrib/sessions/backends/base.py
in _get_new_session_key
except AttributeError:
return True
def _get_new_session_key(self):
"Return session key that isn't being used."
while True:
session_key = get_random_string(32, VALID_KEY_CHARS)
if not self.exists(session_key):…
return session_key
def _get_or_create_session_key(self):
if self._session_key is None:
self._session_key = self._get_new_session_key()
return self._session_key
Variable | Value |
---|---|
self | <django.contrib.sessions.backends.db.SessionStore object at 0x7fb02ced7760> |
session_key | 'eba2qkcbx0od162ccstr1xg8hrnaxl3m' |
/usr/lib/python3.8/site-packages/django/contrib/sessions/backends/db.py
in exists
self._session_key = None
def load(self):
s = self._get_session_from_db()
return self.decode(s.session_data) if s else {}
def exists(self, session_key):
return self.model.objects.filter(session_key=session_key).exists()…
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
Variable | Value |
---|---|
self | <django.contrib.sessions.backends.db.SessionStore object at 0x7fb02ced7760> |
session_key | 'eba2qkcbx0od162ccstr1xg8hrnaxl3m' |
/usr/lib/python3.8/site-packages/django/db/models/query.py
in exists
self._result_cache = None
return query.get_compiler(self.db).execute_sql(CURSOR)
_update.alters_data = True
_update.queryset_only = False
def exists(self):
if self._result_cache is None:
return self.query.has_results(using=self.db)…
return bool(self._result_cache)
def _prefetch_related_objects(self):
# This method can only be called once the result cache has been filled.
prefetch_related_objects(self._result_cache, *self._prefetch_related_lookups)
self._prefetch_done = True
Variable | Value |
---|---|
self | <QuerySet []> |
/usr/lib/python3.8/site-packages/django/db/models/sql/query.py
in has_results
if q.group_by is True:
q.add_fields((f.attname for f in self.model._meta.concrete_fields), False)
q.set_group_by()
q.clear_select_clause()
q.clear_ordering(True)
q.set_limits(high=1)
compiler = q.get_compiler(using=using)
return compiler.has_results()…
def explain(self, using, format=None, **options):
q = self.clone()
q.explain_query = True
q.explain_format = format
q.explain_options = options
Variable | Value |
---|---|
compiler | <django.db.models.sql.compiler.SQLCompiler object at 0x7fb0341877c0> |
q | <django.db.models.sql.query.Query object at 0x7fb0341879a0> |
self | <django.db.models.sql.query.Query object at 0x7fb034187d30> |
using | 'default' |
/usr/lib/python3.8/site-packages/django/db/models/sql/compiler.py
in has_results
"""
Backends (e.g. NoSQL) can override this in order to use optimized
versions of "query has any results."
"""
# This is always executed on a query clone, so we can modify self.query
self.query.add_extra({'a': 1}, None, None, None, None, None)
self.query.set_extra_mask(['a'])
return bool(self.execute_sql(SINGLE))…
def execute_sql(self, result_type=MULTI, chunked_fetch=False, chunk_size=GET_ITERATOR_CHUNK_SIZE):
"""
Run the query against the database and return the result(s). The
return value is a single data item if result_type is SINGLE, or an
iterator over the results if the result_type is MULTI.
Variable | Value |
---|---|
self | <django.db.models.sql.compiler.SQLCompiler object at 0x7fb0341877c0> |
/usr/lib/python3.8/site-packages/django/db/models/sql/compiler.py
in execute_sql
else:
return
if chunked_fetch:
cursor = self.connection.chunked_cursor()
else:
cursor = self.connection.cursor()
try:
cursor.execute(sql, params)…
except Exception:
# Might fail for server-side cursors (e.g. connection closed)
cursor.close()
raise
if result_type == CURSOR:
Variable | Value |
---|---|
chunk_size | 100 |
chunked_fetch | False |
cursor | <django.db.backends.utils.CursorDebugWrapper object at 0x7fb02ced70d0> |
params | ('eba2qkcbx0od162ccstr1xg8hrnaxl3m',) |
result_type | 'single' |
self | <django.db.models.sql.compiler.SQLCompiler object at 0x7fb0341877c0> |
sql | ('SELECT (1) AS "a" FROM "django_session" WHERE "django_session"."session_key" ' '= %s LIMIT 1') |
/usr/lib/python3.8/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 | 5.017314672470093 |
params | ('eba2qkcbx0od162ccstr1xg8hrnaxl3m',) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7fb02ced70d0> |
sql | ('SELECT (1) AS "a" FROM "django_session" WHERE "django_session"."session_key" ' "= 'eba2qkcbx0od162ccstr1xg8hrnaxl3m' LIMIT 1") |
start | 1711703453.672059 |
stop | 1711703458.6893737 |
/usr/lib/python3.8/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 | ('eba2qkcbx0od162ccstr1xg8hrnaxl3m',) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7fb02ced70d0> |
sql | ('SELECT (1) AS "a" FROM "django_session" WHERE "django_session"."session_key" ' '= %s LIMIT 1') |
/usr/lib/python3.8/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.sqlite3.base.DatabaseWrapper object at 0x7fb078e502b0>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7fb02ced70d0>} |
executor | <bound method CursorWrapper._execute of <django.db.backends.utils.CursorDebugWrapper object at 0x7fb02ced70d0>> |
many | False |
params | ('eba2qkcbx0od162ccstr1xg8hrnaxl3m',) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7fb02ced70d0> |
sql | ('SELECT (1) AS "a" FROM "django_session" WHERE "django_session"."session_key" ' '= %s LIMIT 1') |
/usr/lib/python3.8/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.sqlite3.base.DatabaseWrapper object at 0x7fb078e502b0>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7fb02ced70d0>}) |
params | ('eba2qkcbx0od162ccstr1xg8hrnaxl3m',) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7fb02ced70d0> |
sql | ('SELECT (1) AS "a" FROM "django_session" WHERE "django_session"."session_key" ' '= %s LIMIT 1') |
/usr/lib/python3.8/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 'sqlite3.OperationalError'> |
dj_exc_type | <class 'django.db.utils.OperationalError'> |
dj_exc_value | OperationalError('database is locked') |
exc_type | <class 'sqlite3.OperationalError'> |
exc_value | OperationalError('database is locked') |
self | <django.db.utils.DatabaseErrorWrapper object at 0x7fb035490ac0> |
traceback | <traceback object at 0x7fb013dcd240> |
/usr/lib/python3.8/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.sqlite3.base.DatabaseWrapper object at 0x7fb078e502b0>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7fb02ced70d0>}) |
params | ('eba2qkcbx0od162ccstr1xg8hrnaxl3m',) |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7fb02ced70d0> |
sql | ('SELECT (1) AS "a" FROM "django_session" WHERE "django_session"."session_key" ' '= %s LIMIT 1') |
/usr/lib/python3.8/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 |
---|---|
params | ('eba2qkcbx0od162ccstr1xg8hrnaxl3m',) |
query | ('SELECT (1) AS "a" FROM "django_session" WHERE "django_session"."session_key" ' '= ? LIMIT 1') |
self | <django.db.backends.sqlite3.base.SQLiteCursorWrapper object at 0x7fb02c797550> |
AnonymousUser
Variable | Value |
---|---|
store | 'all' |
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
CONTENT_LENGTH | '' |
CONTENT_TYPE | '' |
CSRF_COOKIE | '0J4wN6sNauI1q8fSZHQBl4woJhLk2obprsHMnZpAWcvk0gD14sf2HnIsIuLxBhar' |
CSRF_COOKIE_USED | True |
DOCUMENT_ROOT | '/usr/local/openresty/nginx/html' |
HTTPS | 'on' |
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'upgrade' |
HTTP_HOST | 'www.truefood.tech' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '35.153.134.169' |
HTTP_X_REAL_IP | '35.153.134.169' |
PATH_INFO | '/product/wf_theo-chocolate-organic-85-dark-chocolate-for-baking-d07e4d' |
QUERY_STRING | 'store=all' |
REMOTE_ADDR | '10.0.0.20' |
REMOTE_PORT | '52198' |
REQUEST_METHOD | 'GET' |
REQUEST_URI | '/product/wf_theo-chocolate-organic-85-dark-chocolate-for-baking-d07e4d?store=all' |
SCRIPT_NAME | '' |
SERVER_NAME | 'www.truefood.tech' |
SERVER_PORT | '443' |
SERVER_PROTOCOL | 'HTTP/1.1' |
uwsgi.node | b'green-liveweb22' |
uwsgi.version | b'2.0.17.1' |
wsgi.errors | <uwsgi_file__bin_user_wsgi_wrapper.ErrorLogFile object at 0x7fb0784aa460> |
wsgi.file_wrapper | '' |
wsgi.input | <uwsgi._Input object at 0x7fb013c02f10> |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
foodies.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['www.truefood.tech', '127.0.0.1', 'ccnrresearcher.pythonanywhere.com'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | PosixPath('/home/ccnrresearcher/foodies') |
BOWER_COMPONENTS_ROOT | '/home/ccnrresearcher/foodies/components' |
BOWER_INSTALLED_APPS | ('jquery', 'jquery-ui', 'progressbar.js') |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_COOKIE_PATH | '/' |
CSRF_COOKIE_SAMESITE | 'Lax' |
CSRF_COOKIE_SECURE | False |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
CSRF_TRUSTED_ORIGINS | [] |
CSRF_USE_SESSIONS | False |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.sqlite3', 'HOST': '', 'NAME': '/home/ccnrresearcher/foodies/db.sqlite3', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': ''}} |
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_AUTO_FIELD | 'django.db.models.BigAutoField' |
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 | ['grocery.apps.GroceryConfig', 'djangobower', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles'] |
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 | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | '/' |
MANAGERS | [] |
MEDIA_ROOT | '' |
MEDIA_URL | '' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
ROOT_URLCONF | 'foodies.urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | False |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SAMESITE | 'Lax' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'foodies.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 | ['static/'] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'djangobower.finders.BowerFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | PosixPath('/home/ccnrresearcher/foodies') |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [PosixPath('/home/ccnrresearcher/foodies/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'], 'libraries': {'custom_tags': 'templatetags.custom_tags'}}}] |
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 | 'America/New_York' |
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 | 'foodies.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.