Negative indexing is not supported.
Request Method: | GET |
---|---|
Request URL: | https://advform.breakthrough.org.hk/fill/btretreatday |
Django Version: | 2.2.5 |
Exception Type: | AssertionError |
Exception Value: | Negative indexing is not supported. |
Exception Location: | /usr/local/lib/python3.8/site-packages/django/db/models/query.py in __getitem__, line 285 |
Python Executable: | /usr/local/bin/uwsgi |
Python Version: | 3.8.0 |
Python Path: | ['.', '', '/usr/src/app', '/usr/local/lib/python38.zip', '/usr/local/lib/python3.8', '/usr/local/lib/python3.8/lib-dynload', '/usr/local/lib/python3.8/site-packages', '/usr/src/app/lib/python38.zip', '/usr/src/app/lib/python3.8', '/usr/src/app/lib/python3.8/lib-dynload'] |
Server time: | 星期五, 29 三月 2024 20:47:40 +0800 |
./advform/views.py
in getForm
def getForm(formId):
if formId=='new':
rst=AdvForm()
rst.secure=rst.genDefSecure()
return rst
try:
formId=uuid.UUID(formId)…
return getObj(AdvForm, id=formId)
except:
rst=AdvForm.objects.living().filter(url=formId).order_by('effDate')
return rst[rst.count()-1]
def index(req):
Variable | Value |
---|---|
formId | 'btretreatday' |
rst | <QuerySet []> |
/usr/local/lib/python3.8/uuid.py
in __init__
if [hex, bytes, bytes_le, fields, int].count(None) != 4:
raise TypeError('one of the hex, bytes, bytes_le, fields, '
'or int arguments must be given')
if hex is not None:
hex = hex.replace('urn:', '').replace('uuid:', '')
hex = hex.strip('{}').replace('-', '')
if len(hex) != 32:
raise ValueError('badly formed hexadecimal UUID string')…
int = int_(hex, 16)
if bytes_le is not None:
if len(bytes_le) != 16:
raise ValueError('bytes_le is not a 16-char string')
bytes = (bytes_le[4-1::-1] + bytes_le[6-1:4-1:-1] +
bytes_le[8-1:6-1:-1] + bytes_le[8:])
Variable | Value |
---|---|
bytes | None |
bytes_le | None |
fields | None |
hex | 'btretreatday' |
int | None |
is_safe | <SafeUUID.unknown: None> |
self | Error in formatting: AttributeError: int |
version | None |
/usr/local/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 | AssertionError('Negative indexing is not supported.') |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f311a78cb20>> |
request | <WSGIRequest: GET '/fill/btretreatday'> |
/usr/local/lib/python3.8/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 fill at 0x7f311a31b790> |
callback_args | () |
callback_kwargs | {'formId': 'btretreatday'} |
middleware_method | <bound method MethodOverrideMiddleware.process_view of <webframe.methodoverridemiddleware.MethodOverrideMiddleware object at 0x7f311a63bd30>> |
request | <WSGIRequest: GET '/fill/btretreatday'> |
resolver | <URLResolver 'conf.urls' (None:None) '^/'> |
resolver_match | ResolverMatch(func=advform.views.fill, args=(), kwargs={'formId': 'btretreatday'}, url_name=fill, app_names=[], namespaces=[], route=^fill/(?P<formId>[^/]+)/?$) |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f311a78cb20> |
wrapped_callback | <function fill at 0x7f311a31b790> |
/usr/local/lib/python3.8/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 fill at 0x7f311a31b790> |
callback_args | () |
callback_kwargs | {'formId': 'btretreatday'} |
middleware_method | <bound method MethodOverrideMiddleware.process_view of <webframe.methodoverridemiddleware.MethodOverrideMiddleware object at 0x7f311a63bd30>> |
request | <WSGIRequest: GET '/fill/btretreatday'> |
resolver | <URLResolver 'conf.urls' (None:None) '^/'> |
resolver_match | ResolverMatch(func=advform.views.fill, args=(), kwargs={'formId': 'btretreatday'}, url_name=fill, app_names=[], namespaces=[], route=^fill/(?P<formId>[^/]+)/?$) |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f311a78cb20> |
wrapped_callback | <function fill at 0x7f311a31b790> |
/usr/local/lib/python3.8/site-packages/django/views/decorators/csrf.py
in wrapped_view
def csrf_exempt(view_func):
"""Mark a view function as being exempt from the CSRF view protection."""
# view_func.csrf_exempt = True would also work, but decorators are nicer
# if they don't have side effects, so return a new function.
def wrapped_view(*args, **kwargs):
return view_func(*args, **kwargs)…
wrapped_view.csrf_exempt = True
return wraps(view_func)(wrapped_view)
Variable | Value |
---|---|
args | (<WSGIRequest: GET '/fill/btretreatday'>,) |
kwargs | {'formId': 'btretreatday'} |
view_func | <function fill at 0x7f311a31b670> |
./advform/views.py
in fill
if action.options: params['param']=json.loads(action.options)
return render(req, action.template, params)
@csrf_exempt
def fill(req, formId, recordId=None):
params=dict()
params['stage']='fill'
form=getForm(formId)…
if form.loginRequired and not req.user.is_authenticated():
raise HttpResponseForbidden('Login Required')
if req.method=='DELETE':
if not form.canClear(): return HttpResponseForbidden()
Variable | Value |
---|---|
formId | 'btretreatday' |
params | {'stage': 'fill'} |
recordId | None |
req | <WSGIRequest: GET '/fill/btretreatday'> |
./advform/views.py
in getForm
rst.secure=rst.genDefSecure()
return rst
try:
formId=uuid.UUID(formId)
return getObj(AdvForm, id=formId)
except:
rst=AdvForm.objects.living().filter(url=formId).order_by('effDate')
return rst[rst.count()-1]…
def index(req):
'''
Redirect to the suitable page
'''
return redirect('dashboard')
Variable | Value |
---|---|
formId | 'btretreatday' |
rst | <QuerySet []> |
/usr/local/lib/python3.8/site-packages/django/db/models/query.py
in __getitem__
self._fetch_all()
return bool(self._result_cache)
def __getitem__(self, k):
"""Retrieve an item or slice from the set of results."""
if not isinstance(k, (int, slice)):
raise TypeError
assert ((not isinstance(k, slice) and (k >= 0)) or…
(isinstance(k, slice) and (k.start is None or k.start >= 0) and
(k.stop is None or k.stop >= 0))), \
"Negative indexing is not supported."
if self._result_cache is not None:
return self._result_cache[k]
Variable | Value |
---|---|
k | -1 |
self | <QuerySet []> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
CONTENT_LENGTH | '' |
CONTENT_TYPE | '' |
DOCUMENT_ROOT | '/usr/share/nginx/html' |
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_HOST | 'advform.breakthrough.org.hk' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '18.207.126.53' |
HTTP_X_FORWARDED_PROTO | 'https' |
PATH_INFO | '/fill/btretreatday' |
QUERY_STRING | '' |
REMOTE_ADDR | '172.18.0.34' |
REMOTE_PORT | '50372' |
REQUEST_METHOD | 'GET' |
REQUEST_SCHEME | 'http' |
REQUEST_URI | '/fill/btretreatday' |
SCRIPT_NAME | '' |
SERVER_NAME | '_' |
SERVER_PORT | '80' |
SERVER_PROTOCOL | 'HTTP/1.1' |
uwsgi.node | b'b9fee8d3a5e8' |
uwsgi.version | b'2.0.18' |
wsgi.errors | <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'> |
wsgi.file_wrapper | '' |
wsgi.input | <uwsgi._Input object at 0x7f3119d35c30> |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
conf.settings
Setting | Value |
---|---|
ABSOLUTE_PATH | '' |
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['localhost', 'advform.breakthrough.org.hk', 'appserv', '.ngrok.io'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ('django_auth_ldap.backend.LDAPBackend', 'django.contrib.auth.backends.ModelBackend') |
AUTH_DEFAULT_GROUPS | ['public'] |
AUTH_LDAP_BIND_DN | 'CN=webmaster,OU=IT,OU=BT_Staff,DC=breakthrough,DC=org,DC=hk' |
AUTH_LDAP_BIND_PASSWORD | '********************' |
AUTH_LDAP_CONNECTION_OPTIONS | {8: 0, 20481: 1} |
AUTH_LDAP_GROUP_SEARCH | <LDAPSearch: DC=breakthrough,DC=org,DC=hk> |
AUTH_LDAP_GROUP_TYPE | <django_auth_ldap.config.NestedActiveDirectoryGroupType object at 0x7f311b0e8880> |
AUTH_LDAP_SERVER_URI | 'ldap://172.16.0.23:389' |
AUTH_LDAP_USER_ATTR_MAP | {'email': 'mail', 'first_name': 'givenName', 'last_name': 'sn'} |
AUTH_LDAP_USER_FLAGS_BY_GROUP | {'is_staff': ['CN=Domain User,DC=breakthrough,DC=org,DC=hk'], 'is_superuser': ['CN=Domain Admins,CN=Users,DC=breakthrough,DC=org,DC=hk']} |
AUTH_LDAP_USER_SEARCH | <LDAPSearch: OU=BT_STAFF,DC=breakthrough,DC=org,DC=hk> |
AUTH_PASSWORD_REQUIRED | '********************' |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | '/usr/src/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': 0, 'ENGINE': 'django.db.backends.postgresql', 'HOST': 'dbhost', 'NAME': 'advform', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': 5432, 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'advform'}} |
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 | [] |
DJANGO_PAYPAL_TESTING | True |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'mail.on-nets.com' |
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', 'webframe', 'advform', 'method_override', 'django_tables2', 'chartit', 'django_paypal', 'advform_paypal', 'impersonate'] |
INTERNAL_IPS | [] |
LANGS | (('zh-hant', '繁體中文'), ('en', 'en')) |
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 | 'zh-hant' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LDAP_BIND_PWD | 'R8h7fkM2+xn8f8OT' |
LDAP_BIND_USER | 'CN=webmaster,OU=IT,OU=BT_Staff,DC=breakthrough,DC=org,DC=hk' |
LDAP_DEPT_SEARCH_FILTER | '(&(department=%s)(objectClass=user))' |
LDAP_ENABLED | True |
LDAP_SEARCH_BASE | 'OU=BT_STAFF,DC=breakthrough,DC=org,DC=hk' |
LDAP_SERVERS | {'host': '172.16.0.23', 'port': 389, 'use_ssl': False} |
LDAP_USER_SEARCH_FILTER | '(&(sAMAccountName=%s)(objectClass=user))' |
LOCALE_PATHS | [] |
LOGGING | {'disable_existing_loggers': False, 'formatters': {'simple': {'format': '%(levelname)s <%(filename)s:%(lineno)d> ' '%(message)s'}, 'verbose': {'datefmt': '%d/%b/%Y %H:%M:%S', 'format': '[%(asctime)s] %(levelname)s ' '[%(name)s:%(filename)s:%(lineno)s] ' '%(message)s'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'formatter': 'simple', 'level': 'DEBUG'}, 'file': {'class': 'logging.handlers.TimedRotatingFileHandler', 'filename': './logs/runtime.log', 'formatter': 'verbose', 'level': 'INFO', 'when': 'midnight'}}, 'loggers': {'advform': {'handlers': ['console', 'file'], 'level': 'DEBUG'}, 'advform_paypal': {'handlers': ['console', 'file'], 'level': 'DEBUG'}, 'django': {'handlers': ['console', 'file'], 'level': 'WARNING', 'propagate': True}, 'django_paypal': {'handlers': ['console', 'file'], 'level': 'DEBUG'}, 'webframe': {'handlers': ['console'], 'level': 'INFO'}}, 'version': 1} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | 'dashboard' |
LOGIN_URL | 'webframe:login' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | 'media/advform' |
MEDIA_URL | '/media/advform/' |
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', 'webframe.methodoverridemiddleware.MethodOverrideMiddleware', 'webframe.LangMiddleware.LangMiddleware', 'webframe.CurrentUserMiddleware.CurrentUserMiddleware', 'django.middleware.locale.LocaleMiddleware', 'impersonate.middleware.ImpersonateMiddleware'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
ROOT_URLCONF | 'conf.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 | 'conf.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 | [] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | 'static/advform' |
STATIC_URL | '/static/advform/' |
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', 'webframe.providers.absolute_path', 'webframe.providers.fmt_injection', 'webframe.providers.template_injection', 'advform.providers.reCAPTCHA']}}] |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THOUSAND_SEPARATOR | ',' |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'Asia/Hong_Kong' |
TMPL_HEADER | 'advform/header.html' |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
VERSION | 'v1.4.14 - Build at 2020-04-03 15:53:27 by kenson' |
WSGI_APPLICATION | 'conf.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.