StoreItemRecipe matching query does not exist.
Request Method: | GET |
---|---|
Request URL: | https://www.shop.microgreens.boston/store/shop/product?item=22&freshlist |
Django Version: | 2.2.10 |
Exception Type: | DoesNotExist |
Exception Value: | StoreItemRecipe matching query does not exist. |
Exception Location: | /app/.heroku/python/lib/python3.9/site-packages/django/db/models/query.py in get, line 406 |
Python Executable: | /app/.heroku/python/bin/python |
Python Version: | 3.9.4 |
Python Path: | ['/app/.heroku/python/bin', '/app', '/app/.heroku/python/lib/python39.zip', '/app/.heroku/python/lib/python3.9', '/app/.heroku/python/lib/python3.9/lib-dynload', '/app/.heroku/python/lib/python3.9/site-packages'] |
Server time: | Fri, 29 Mar 2024 01:56:14 -0400 |
/app/.heroku/python/lib/python3.9/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 | DoesNotExist('StoreItemRecipe matching query does not exist.') |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f64e346c0d0>> |
request | <WSGIRequest: GET '/store/shop/product?item=22&freshlist'> |
/app/.heroku/python/lib/python3.9/site-packages/django/core/handlers/base.py
in _get_response
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)
except Exception as e:
response = self.process_exception_by_middleware(e, request)…
# Complain if the view returned None (a common error).
if response is None:
if isinstance(callback, types.FunctionType): # FBV
view_name = callback.__name__
else: # CBV
Variable | Value |
---|---|
callback | <function product at 0x7f64e1fdc3a0> |
callback_args | () |
callback_kwargs | {} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f64e2094df0>> |
request | <WSGIRequest: GET '/store/shop/product?item=22&freshlist'> |
resolver | <URLResolver 'grow-app-project.urls' (None:None) '^/'> |
resolver_match | ResolverMatch(func=store.views.product, args=(), kwargs={}, url_name=product, app_names=['store'], namespaces=['store'], route=store/shop/product) |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f64e346c0d0> |
wrapped_callback | <function product at 0x7f64e1fdc3a0> |
/app/.heroku/python/lib/python3.9/site-packages/django/core/handlers/base.py
in _get_response
response = middleware_method(request, callback, callback_args, callback_kwargs)
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
# Complain if the view returned None (a common error).
if response is None:
if isinstance(callback, types.FunctionType): # FBV
Variable | Value |
---|---|
callback | <function product at 0x7f64e1fdc3a0> |
callback_args | () |
callback_kwargs | {} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f64e2094df0>> |
request | <WSGIRequest: GET '/store/shop/product?item=22&freshlist'> |
resolver | <URLResolver 'grow-app-project.urls' (None:None) '^/'> |
resolver_match | ResolverMatch(func=store.views.product, args=(), kwargs={}, url_name=product, app_names=['store'], namespaces=['store'], route=store/shop/product) |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f64e346c0d0> |
wrapped_callback | <function product at 0x7f64e1fdc3a0> |
/app/store/views.py
in product
'freshlist_items': freshlist_items,
'subscription_items': subscription_items
}
return HttpResponse(template.render(context, request))
def product(request):
if request.method == 'GET':
return display_product(request)…
def display_product(request):
try:
# We used to use the product names in the urls, but now we've switched to numerical ID numbers
# Regardless, try to parse out the old url format into an ID if possible
try:
Variable | Value |
---|---|
request | <WSGIRequest: GET '/store/shop/product?item=22&freshlist'> |
/app/store/views.py
in display_product
# Create a map between growth sizes and their lead times for this item
grow_sizes_times = []
for cur_growth_size in item.get_aval_growth_sizes():
if freshlist:
growth_size_added = False
for cur_package_size in item.get_aval_package_sizes():
for day_num in range(7):
if item.get_amount_aval_fresh(cur_growth_size, cur_package_size, date.today() + timedelta(days=day_num + 1)) >= 1:…
grow_sizes_times.append({'growth_size': cur_growth_size, 'growth_time': item.get_grow_time(growth_size=cur_growth_size)})
growth_size_added = True
break
if growth_size_added:
break
Variable | Value |
---|---|
cur_growth_size | <GrowthSize: Large> |
cur_package_size | <PackageSize: Live Tray (10")> |
day_num | 0 |
freshlist | True |
grow_sizes_times | [] |
growth_size_added | False |
item | <StoreItem: Basil, Genovese> |
request | <WSGIRequest: GET '/store/shop/product?item=22&freshlist'> |
user_account_info | None |
/app/store/models.py
in get_amount_aval_fresh
next_delivery_date += timedelta(days=1)
if date <= next_delivery_date:
amount_aval_as_clamshells -= cur_order.num_of_units
amount_aval_as_clamshells = max(amount_aval_as_clamshells, 0)
amount_aval_from_trays = 999999
recipe = StoreItemRecipe.objects.get(store_item=self, growth_size=growth_size, package_size=package_size)…
for weighted_recipe_component in StoreItemWeightedRecipeComponent.objects.filter(recipe=recipe):
amount_aval_from_trays = min(weighted_recipe_component.crop_type.get_amount_freshlisted(growth_size, date) / weighted_recipe_component.amount, amount_aval_from_trays)
if amount_aval_from_trays == 999999:
amount_aval_from_trays = 0
Variable | Value |
---|---|
amount_aval_as_clamshells | 0 |
amount_aval_from_trays | 999999 |
date | datetime.date(2024, 3, 30) |
growth_size | <GrowthSize: Large> |
package_size | <PackageSize: Live Tray (10")> |
self | <StoreItem: Basil, Genovese> |
/app/.heroku/python/lib/python3.9/site-packages/django/db/models/manager.py
in manager_method
def check(self, **kwargs):
return []
@classmethod
def _get_queryset_methods(cls, queryset_class):
def create_method(name, method):
def manager_method(self, *args, **kwargs):
return getattr(self.get_queryset(), name)(*args, **kwargs)…
manager_method.__name__ = method.__name__
manager_method.__doc__ = method.__doc__
return manager_method
new_methods = {}
for name, method in inspect.getmembers(queryset_class, predicate=inspect.isfunction):
Variable | Value |
---|---|
args | () |
kwargs | {'growth_size': <GrowthSize: Large>, 'package_size': <PackageSize: Live Tray (10")>, 'store_item': <StoreItem: Basil, Genovese>} |
name | 'get' |
self | <django.db.models.manager.Manager object at 0x7f64e1ea8310> |
/app/.heroku/python/lib/python3.9/site-packages/django/db/models/query.py
in get
clone = self.filter(*args, **kwargs)
if self.query.can_filter() and not self.query.distinct_fields:
clone = clone.order_by()
num = len(clone)
if num == 1:
return clone._result_cache[0]
if not num:
raise self.model.DoesNotExist(…
"%s matching query does not exist." %
self.model._meta.object_name
)
raise self.model.MultipleObjectsReturned(
"get() returned more than one %s -- it returned %s!" %
(self.model._meta.object_name, num)
Variable | Value |
---|---|
args | () |
clone | <QuerySet []> |
kwargs | {'growth_size': <GrowthSize: Large>, 'package_size': <PackageSize: Live Tray (10")>, 'store_item': <StoreItem: Basil, Genovese>} |
num | 0 |
self | <QuerySet [<StoreItemRecipe: Recipe for Rainbow Mix - Standard Large Clamshell>, <StoreItemRecipe: Recipe for Nasturtium - Standard Small Clamshell>, <StoreItemRecipe: Recipe for Nasturtium - Standard Large Clamshell>, <StoreItemRecipe: Recipe for Nasturtium - Standard Live Tray (20")>, <StoreItemRecipe: Recipe for Shiso, Red - Standard Live Tray (20")>, <StoreItemRecipe: Recipe for Shiso, Red - Standard Small Clamshell>, <StoreItemRecipe: Recipe for Shiso, Red - Standard Large Clamshell>, <StoreItemRecipe: Recipe for Shiso, Green - Standard Small Clamshell>, <StoreItemRecipe: Recipe for Shiso, Green - Standard Large Clamshell>, <StoreItemRecipe: Recipe for Shiso, Green - Standard Live Tray (20")>, <StoreItemRecipe: Recipe for Anise Hyssop - Standard Small Clamshell>, <StoreItemRecipe: Recipe for Anise Hyssop - Standard Large Clamshell>, <StoreItemRecipe: Recipe for Anise Hyssop - Standard Live Tray (20")>, <StoreItemRecipe: Recipe for Arugula, Astro - Standard Small Clamshell>, <StoreItemRecipe: Recipe for Arugula, Astro - Standard Large Clamshell>, <StoreItemRecipe: Recipe for Arugula, Astro - Standard Live Tray (20")>, <StoreItemRecipe: Recipe for Basil, Genovese - Standard Small Clamshell>, <StoreItemRecipe: Recipe for Basil, Genovese - Standard Large Clamshell>, <StoreItemRecipe: Recipe for Basil, Genovese - Standard Live Tray (20")>, <StoreItemRecipe: Recipe for Basil, Thai - Standard Small Clamshell>, '...(remaining elements truncated)...']> |
AnonymousUser
Variable | Value |
---|---|
item | '22' |
freshlist | '' |
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_CONNECT_TIME | '0' |
HTTP_HOST | 'www.shop.microgreens.boston' |
HTTP_TOTAL_ROUTE_TIME | '0' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_VIA | '1.1 vegur' |
HTTP_X_FORWARDED_FOR | '3.218.247.159' |
HTTP_X_FORWARDED_PORT | '443' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_REQUEST_ID | 'f0dcda7f-0940-4ed6-a6ca-c6ab5cfcb2a4' |
HTTP_X_REQUEST_START | '1711691773449' |
PATH_INFO | '/store/shop/product' |
QUERY_STRING | 'item=22&freshlist' |
RAW_URI | '/store/shop/product?item=22&freshlist' |
REMOTE_ADDR | '10.1.11.175' |
REMOTE_PORT | '20567' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | '0.0.0.0' |
SERVER_PORT | '13629' |
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.17.227.218', 13629), raddr=('10.1.11.175', 20567)> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f64e1f9e670> |
wsgi.file_wrapper | '' |
wsgi.input | <gunicorn.http.body.Body object at 0x7f64e1e239a0> |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
grow-app-project.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [('Nicholas Contreras', 'contreras.n@northeastern.edu'), ('BMG DEV', 'bmg.growapp@gmail.com')] |
ALLOWED_HOSTS | ['*'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'registration.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 | 'grow-app-project.views.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-52-86-56-90.compute-1.amazonaws.com', 'NAME': 'da6fms9gbpruto', 'OPTIONS': {'sslmode': 'require'}, 'PASSWORD': '********************', 'PORT': 5432, 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'csrsrbbgyrqdjt'}} |
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 | 'smtp.gmail.com' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | 'bmg.growapp@gmail.com' |
EMAIL_PORT | 587 |
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 | True |
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 | ['fixtures'] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ['store.apps.StoreConfig', 'inventory.apps.InventoryConfig', 'settings.apps.SettingsConfig', 'registration.apps.RegistrationConfig', 'widget_tweaks', '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 | {'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 | '/accounts/login/' |
LOGOUT_REDIRECT_URL | '/accounts/login' |
MANAGERS | [('Nicholas Contreras', 'contreras.n@northeastern.edu'), ('Boston Microgreens', 'bostonmicrogreens@gmail.com')] |
MEDIA_ROOT | '' |
MEDIA_URL | '' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MESSAGE_TAGS | {10: 'alert-info', 20: 'alert-info', 25: 'alert-success', 30: 'alert-warning', 40: 'alert-danger'} |
MIDDLEWARE | ('whitenoise.middleware.WhiteNoiseMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.gzip.GZipMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware') |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
ROOT_URLCONF | 'grow-app-project.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 | 'bmg.growapp@gmail.com' |
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 | 'grow-app-project.settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
STATICFILES | 'True' |
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': ['/app/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']}}] |
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 | 'grow-app-project.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.