'AnonymousUser' object is not iterable
Request Method: | GET |
---|---|
Request URL: | https://www.newsplatform.org/close-account/ |
Django Version: | 3.2 |
Exception Type: | TypeError |
Exception Value: | 'AnonymousUser' object is not iterable |
Exception Location: | /var/app/venv/staging-LQM1lest/lib/python3.8/site-packages/django/utils/functional.py, line 247, in inner |
Python Executable: | /var/app/venv/staging-LQM1lest/bin/python |
Python Version: | 3.8.5 |
Python Path: | ['/var/app/venv/staging-LQM1lest/bin', '/var/app/current', '/var/app/current/$PYTHONPATH', '/usr/lib64/python38.zip', '/usr/lib64/python3.8', '/usr/lib64/python3.8/lib-dynload', '/var/app/venv/staging-LQM1lest/lib64/python3.8/site-packages', '/var/app/venv/staging-LQM1lest/lib/python3.8/site-packages'] |
Server time: | Fri, 29 Mar 2024 09:55:09 +0000 |
/var/app/venv/staging-LQM1lest/lib/python3.8/site-packages/django/core/handlers/exception.py
, line 47, in inner
response = await sync_to_async(response_for_exception, thread_sensitive=False)(request, exc)
return response
return inner
else:
@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 | TypeError("'AnonymousUser' object is not iterable") |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7ff12a5a8d90>> |
request | <WSGIRequest: GET '/close-account/'> |
/var/app/venv/staging-LQM1lest/lib/python3.8/site-packages/django/core/handlers/base.py
, line 181, in _get_response
if response is None:
wrapped_callback = self.make_view_atomic(callback)
# If it is an asynchronous view, run it in a subthread.
if asyncio.iscoroutinefunction(wrapped_callback):
wrapped_callback = async_to_sync(wrapped_callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
if response is None:
raise
# Complain if the view returned None (a common error).
Variable | Value |
---|---|
callback | <function close_profile at 0x7ff12887f550> |
callback_args | () |
callback_kwargs | {} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7ff129e55940>> |
request | <WSGIRequest: GET '/close-account/'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7ff12a5a8d90> |
wrapped_callback | <function close_profile at 0x7ff12887f550> |
/var/app/current/core/views.py
, line 555, in close_profile
settings.ADMIN_EMAIL
)
return HttpResponse(status=500)
def close_profile(request):
user = request.user
channel_status = check_channel_status(request)…
if channel_status is not None:
messages.info(
request, "You cannot delete your account without closing your channel first.")
return redirect(reverse('my-channel'))
# if user has no credit card sources then reject
Variable | Value |
---|---|
request | <WSGIRequest: GET '/close-account/'> |
user | <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7ff123cc5ac0>> |
/var/app/current/core/views.py
, line 62, in check_channel_status
def check_channel_has_stripe_account(channel):
if channel.stripe_account_id == '' or channel.stripe_account_id is None:
return None
return channel.stripe_account_id
def check_channel_status(request):
channel_qs = Channel.objects.filter(user=request.user)…
if channel_qs.exists():
return channel_qs[0]
return None
def is_article_creator(request, article_being_viewed):
Variable | Value |
---|---|
request | <WSGIRequest: GET '/close-account/'> |
/var/app/venv/staging-LQM1lest/lib/python3.8/site-packages/django/db/models/manager.py
, line 85, 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 | {'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7ff123cc5ac0>>} |
name | 'filter' |
self | <core.managers.ChannelManager object at 0x7ff12a4d3820> |
/var/app/venv/staging-LQM1lest/lib/python3.8/site-packages/django/db/models/query.py
, line 941, in filter
def filter(self, *args, **kwargs):
"""
Return a new QuerySet instance with the args ANDed to the existing
set.
"""
self._not_support_combined_queries('filter')
return self._filter_or_exclude(False, args, kwargs)…
def exclude(self, *args, **kwargs):
"""
Return a new QuerySet instance with NOT (args) ANDed to the existing
set.
"""
Variable | Value |
---|---|
args | () |
kwargs | {'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7ff123cc5ac0>>} |
self | <ChannelQuerySet [<Channel: SA Endurance Sports>, <Channel: big_test>, <Channel: 4th of July>, <Channel: hello>, <Channel: Solar & Battery Technology Weekly>, <Channel: Running News>]> |
/var/app/venv/staging-LQM1lest/lib/python3.8/site-packages/django/db/models/query.py
, line 961, in _filter_or_exclude
"Cannot filter a query once a slice has been taken."
clone = self._chain()
if self._defer_next_filter:
self._defer_next_filter = False
clone._deferred_filter = negate, args, kwargs
else:
clone._filter_or_exclude_inplace(negate, args, kwargs)…
return clone
def _filter_or_exclude_inplace(self, negate, args, kwargs):
if negate:
self._query.add_q(~Q(*args, **kwargs))
else:
Variable | Value |
---|---|
args | () |
clone | <ChannelQuerySet [<Channel: SA Endurance Sports>, <Channel: big_test>, <Channel: 4th of July>, <Channel: hello>, <Channel: Solar & Battery Technology Weekly>, <Channel: Running News>]> |
kwargs | {'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7ff123cc5ac0>>} |
negate | False |
self | <ChannelQuerySet [<Channel: SA Endurance Sports>, <Channel: big_test>, <Channel: 4th of July>, <Channel: hello>, <Channel: Solar & Battery Technology Weekly>, <Channel: Running News>]> |
/var/app/venv/staging-LQM1lest/lib/python3.8/site-packages/django/db/models/query.py
, line 968, in _filter_or_exclude_inplace
clone._filter_or_exclude_inplace(negate, args, kwargs)
return clone
def _filter_or_exclude_inplace(self, negate, args, kwargs):
if negate:
self._query.add_q(~Q(*args, **kwargs))
else:
self._query.add_q(Q(*args, **kwargs))…
def complex_filter(self, filter_obj):
"""
Return a new QuerySet instance with filter_obj added to the filters.
filter_obj can be a Q object or a dictionary of keyword lookup
Variable | Value |
---|---|
args | () |
kwargs | {'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7ff123cc5ac0>>} |
negate | False |
self | <ChannelQuerySet [<Channel: SA Endurance Sports>, <Channel: big_test>, <Channel: 4th of July>, <Channel: hello>, <Channel: Solar & Battery Technology Weekly>, <Channel: Running News>]> |
/var/app/venv/staging-LQM1lest/lib/python3.8/site-packages/django/db/models/sql/query.py
, line 1396, in add_q
# For join promotion this case is doing an AND for the added q_object
# and existing conditions. So, any existing inner join forces the join
# type to remain inner. Existing outer joins can however be demoted.
# (Consider case where rel_a is LOUTER and rel_a__col=1 is added - if
# rel_a doesn't produce any rows, then the whole condition must fail.
# So, demotion is OK.
existing_inner = {a for a in self.alias_map if self.alias_map[a].join_type == INNER}
clause, _ = self._add_q(q_object, self.used_aliases)…
if clause:
self.where.add(clause, AND)
self.demote_joins(existing_inner)
def build_where(self, filter_expr):
return self.build_filter(filter_expr, allow_joins=False)[0]
Variable | Value |
---|---|
existing_inner | set() |
q_object | <Q: (AND: ('user', <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7ff123cc5ac0>>))> |
self | <django.db.models.sql.query.Query object at 0x7ff123b9dc10> |
/var/app/venv/staging-LQM1lest/lib/python3.8/site-packages/django/db/models/sql/query.py
, line 1415, in _add_q
connector = q_object.connector
current_negated = current_negated ^ q_object.negated
branch_negated = branch_negated or q_object.negated
target_clause = self.where_class(connector=connector,
negated=q_object.negated)
joinpromoter = JoinPromoter(q_object.connector, len(q_object.children), current_negated)
for child in q_object.children:
child_clause, needed_inner = self.build_filter(…
child, can_reuse=used_aliases, branch_negated=branch_negated,
current_negated=current_negated, allow_joins=allow_joins,
split_subq=split_subq, check_filterable=check_filterable,
)
joinpromoter.add_votes(needed_inner)
if child_clause:
Variable | Value |
---|---|
allow_joins | True |
branch_negated | False |
check_filterable | True |
child | ('user', <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7ff123cc5ac0>>) |
connector | 'AND' |
current_negated | False |
joinpromoter | <django.db.models.sql.query.JoinPromoter object at 0x7ff1235e6ca0> |
q_object | <Q: (AND: ('user', <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7ff123cc5ac0>>))> |
self | <django.db.models.sql.query.Query object at 0x7ff123b9dc10> |
split_subq | True |
target_clause | <WhereNode: (AND: )> |
used_aliases | set() |
/var/app/venv/staging-LQM1lest/lib/python3.8/site-packages/django/db/models/sql/query.py
, line 1323, in build_filter
parts, opts, alias, can_reuse=can_reuse, allow_many=allow_many,
reuse_with_filtered_relation=reuse_with_filtered_relation,
)
# Prevent iterator from being consumed by check_related_objects()
if isinstance(value, Iterator):
value = list(value)
self.check_related_objects(join_info.final_field, value, join_info.opts)…
# split_exclude() needs to know which joins were generated for the
# lookup parts
self._lookup_joins = join_info.joins
except MultiJoin as e:
return self.split_exclude(filter_expr, can_reuse, e.names_with_path)
Variable | Value |
---|---|
alias | 'core_channel' |
allow_joins | True |
allow_many | True |
arg | 'user' |
branch_negated | False |
can_reuse | set() |
check_filterable | True |
clause | <WhereNode: (AND: )> |
current_negated | False |
filter_expr | ('user', <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7ff123cc5ac0>>) |
join_info | JoinInfo(final_field=<django.db.models.fields.related.ForeignKey: user>, targets=(<django.db.models.fields.BigAutoField: id>,), opts=<Options for User>, joins=['core_channel', 'core_user'], path=[PathInfo(from_opts=<Options for Channel>, to_opts=<Options for User>, target_fields=(<django.db.models.fields.BigAutoField: id>,), join_field=<django.db.models.fields.related.ForeignKey: user>, m2m=False, direct=True, filtered_relation=None)], transform_function=<function Query.setup_joins.<locals>.final_transformer at 0x7ff12871a1f0>) |
lookups | [] |
opts | <Options for Channel> |
parts | ['user'] |
pre_joins | {} |
reffed_expression | False |
reuse_with_filtered_relation | False |
self | <django.db.models.sql.query.Query object at 0x7ff123b9dc10> |
split_subq | True |
used_joins | set() |
value | <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7ff123cc5ac0>> |
/var/app/venv/staging-LQM1lest/lib/python3.8/site-packages/django/db/models/sql/query.py
, line 1152, in check_related_objects
raise ValueError(
'Cannot use QuerySet for "%s": Use a QuerySet for "%s".' %
(value.model._meta.object_name, opts.object_name)
)
elif hasattr(value, '_meta'):
self.check_query_object_type(value, opts, field)
elif hasattr(value, '__iter__'):
for v in value:…
self.check_query_object_type(v, opts, field)
def check_filterable(self, expression):
"""Raise an error if expression cannot be used in a WHERE clause."""
if (
hasattr(expression, 'resolve_expression') and
Variable | Value |
---|---|
field | <django.db.models.fields.related.ForeignKey: user> |
opts | <Options for User> |
self | <django.db.models.sql.query.Query object at 0x7ff123b9dc10> |
value | <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7ff123cc5ac0>> |
/var/app/venv/staging-LQM1lest/lib/python3.8/site-packages/django/utils/functional.py
, line 247, in inner
empty = object()
def new_method_proxy(func):
def inner(self, *args):
if self._wrapped is empty:
self._setup()
return func(self._wrapped, *args)…
return inner
class LazyObject:
"""
A wrapper for another class that can be used to delay instantiation of the
Variable | Value |
---|---|
args | () |
func | <built-in function iter> |
self | <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7ff123cc5ac0>> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'Keep-Alive' |
HTTP_HOST | 'www.newsplatform.org' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_AMZN_TRACE_ID | 'Root=1-66068ffd-02d12292713d7bdb019c0908' |
HTTP_X_FORWARDED_FOR | '54.198.200.128, 172.31.27.10' |
HTTP_X_FORWARDED_HOST | 'www.newsplatform.org' |
HTTP_X_FORWARDED_PORT | '443' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_FORWARDED_SERVER | 'ip-172-31-12-50.us-west-2.compute.internal' |
PATH_INFO | '/close-account/' |
QUERY_STRING | '' |
RAW_URI | '/close-account/' |
REMOTE_ADDR | '127.0.0.1' |
REMOTE_PORT | '35836' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | '127.0.0.1' |
SERVER_PORT | '8000' |
SERVER_PROTOCOL | 'HTTP/1.1' |
SERVER_SOFTWARE | 'gunicorn/20.1.0' |
gunicorn.socket | <socket.socket fd=10, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 8000), raddr=('127.0.0.1', 35836)> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff1235deaf0> |
wsgi.file_wrapper | <class 'gunicorn.http.wsgi.FileWrapper'> |
wsgi.input | <gunicorn.http.body.Body object at 0x7ff123092a30> |
wsgi.input_terminated | True |
wsgi.multiprocess | False |
wsgi.multithread | True |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
newsPlatform.settings.development
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ACCOUNT_AUTHENTICATION_METHOD | 'username' |
ACCOUNT_EMAIL_REQUIRED | True |
ACCOUNT_EMAIL_SUBJECT_PREFIX | '' |
ACCOUNT_EMAIL_VERIFICATION | 'none' |
ACCOUNT_UNIQUE_EMAIL | True |
ADMINS | [] |
ADMIN_EMAIL | '' |
ALLOWED_HOSTS | ['127.0.0.1', '1f656cab.ngrok.io', 'localhost', 'NewsPlatform-dev.us-west-2.elasticbeanstalk.com', '172.31.46.44', 'newsplatform.org', 'www.newsplatform.org'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'core.User' |
AWS_DEFAULT_ACL | 'public-read' |
AWS_S3_ACCESS_KEY_ID | '********************' |
AWS_S3_ADDRESSING_STYLE | 'virtual' |
AWS_S3_CUSTOM_DOMAIN | '2022newsplatform.s3.amazonaws.com' |
AWS_S3_OBJECT_PARAMETERS | {'CacheControl': 'max-age=86400'} |
AWS_S3_REGION_NAME | 'us-east-1' |
AWS_S3_SECRET_ACCESS_KEY | '********************' |
AWS_STORAGE_BUCKET_NAME | '2022newsplatform' |
BASE_DIR | '/var/app/current' |
BILL_KEY | '********************' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CRISPY_TEMPLATE_PACK | 'bootstrap4' |
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_psycopg2', 'HOST': 'aa1t0knyj9jvar8.cmxfa3z2raki.us-west-2.rds.amazonaws.com', 'NAME': 'ebdb', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '5432', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'mrjpwnp'}} |
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', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M'] |
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 |
DEBUG_TOOLBAR_CONFIG | {'INTERCEPT_REDIRECTS': False, 'SHOW_TOOLBAR_CALLBACK': <function show_toolbar at 0x7ff12d059820>} |
DEBUG_TOOLBAR_PANELS | ['debug_toolbar.panels.versions.VersionsPanel', 'debug_toolbar.panels.timer.TimerPanel', 'debug_toolbar.panels.settings.SettingsPanel', 'debug_toolbar.panels.headers.HeadersPanel', 'debug_toolbar.panels.request.RequestPanel', 'debug_toolbar.panels.sql.SQLPanel', 'debug_toolbar.panels.staticfiles.StaticFilesPanel', 'debug_toolbar.panels.templates.TemplatesPanel', 'debug_toolbar.panels.cache.CachePanel', 'debug_toolbar.panels.signals.SignalsPanel', 'debug_toolbar.panels.logging.LoggingPanel', 'debug_toolbar.panels.redirects.RedirectsPanel'] |
DECIMAL_SEPARATOR | '.' |
DEFAULT_AUTO_FIELD | 'django.db.models.BigAutoField' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_EXCEPTION_REPORTER | 'django.views.debug.ExceptionReporter' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'newsPlatform.storage_backends.PublicMediaStorage' |
DEFAULT_FROM_EMAIL | '' |
DEFAULT_HASHING_ALGORITHM | 'sha256' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
DOMAIN | 'http://127.0.0.1:8000' |
EMAIL_BACKEND | '' |
EMAIL_HOST | '' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | '' |
EMAIL_PORT | '' |
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_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 | 420 |
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', 'django.contrib.sites', 'allauth', 'allauth.account', 'allauth.socialaccount', 'allauth.socialaccount.providers.google', 'crispy_forms', 'star_ratings', 'storages', 'tinymce', 'articles', 'categories', 'core', 'newsletter', 'debug_toolbar'] |
INTERNAL_IPS | [] |
LANGUAGES | [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ar-dz', 'Algerian 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'), ('ig', 'Igbo'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('ky', 'Kyrgyz'), ('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'), ('tg', 'Tajik'), ('th', 'Thai'), ('tk', 'Turkmen'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('uz', 'Uzbek'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'fa', 'ur'] |
LANGUAGE_CODE | 'en-us' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_HTTPONLY | False |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LANGUAGE_COOKIE_SAMESITE | None |
LANGUAGE_COOKIE_SECURE | False |
LOCALE_PATHS | [] |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/explore-channels/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MAILCHIMP_API_KEY | '********************' |
MAILCHIMP_DATA_CENTER | '' |
MAILCHIMP_EMAIL_LIST_ID | '' |
MANAGERS | [] |
MEDIA_ROOT | '' |
MEDIA_URL | 'https://2022newsplatform.s3.amazonaws.com/media/' |
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', 'debug_toolbar.middleware.DebugToolbarMiddleware'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
NUM_FREE_VIEWS_PER_CHANNEL | '10' |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PAYMENTS_KEY | '********************' |
PREPEND_WWW | False |
ROOT_URLCONF | 'newsPlatform.urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | True |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SEND_GRID_API_KEY | '********************' |
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 | 'newsPlatform.settings.development' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
SITE_ID | 1 |
STAR_RATINGS_ANONYMOUS | False |
STAR_RATINGS_RANGE | 10 |
STAR_RATINGS_RATING_MODEL | 'star_ratings.Rating' |
STAR_RATINGS_RERATE | False |
STATICFILES_DIRS | ('/var/app/current/static',) |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'newsPlatform.storage_backends.StaticStorage' |
STATIC_LOCATION | 'static' |
STATIC_ROOT | None |
STATIC_URL | 'https://2022newsplatform.s3.amazonaws.com/static/' |
STRIPE_CONNECT_CLIENT_ID | 'ca_EZbadnfmquQd3PcD8LdkIhIHbgSy0yqO' |
STRIPE_PUBLIC_KEY | '********************' |
STRIPE_SECRET_KEY | '********************' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/app/current/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 | 'UTC' |
TINYMCE_DEFAULT_CONFIG | {'cleanup_on_startup': True, 'contextmenu': 'formats | link image', 'custom_undo_redo_levels': 20, 'menubar': True, 'plugins': '\n' ' textcolor save link image media preview codesample ' 'contextmenu\n' ' table code lists fullscreen insertdatetime ' 'nonbreaking\n' ' contextmenu directionality searchreplace wordcount ' 'visualblocks\n' ' visualchars code fullscreen autolink lists charmap ' 'print hr\n' ' anchor pagebreak\n' ' ', 'selector': 'textarea', 'statusbar': True, 'theme': 'modern', 'toolbar1': '\n' ' fullscreen preview bold italic underline | ' 'fontselect,\n' ' fontsizeselect | forecolor backcolor | alignleft ' 'alignright |\n' ' aligncenter alignjustify | indent outdent | bullist ' 'numlist table |\n' ' | link image media | codesample |\n' ' ', 'toolbar2': '\n' ' visualblocks visualchars |\n' ' charmap hr pagebreak nonbreaking anchor | code |\n' ' '} |
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 | 'newsPlatform.wsgi.application' |
X_FRAME_OPTIONS | 'DENY' |
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.