[Errno 2] No such file or directory: './parliament/static/csv/entidade_43_topico_28909.zip'
Request Method: | GET |
---|---|
Request URL: | https://arquivo-parlamento.pt/media/13070/topico/89/artigos |
Django Version: | 3.2.12 |
Exception Type: | FileNotFoundError |
Exception Value: | [Errno 2] No such file or directory: './parliament/static/csv/entidade_43_topico_28909.zip' |
Exception Location: | /home/django/parliament/parliament/views.py, line 34, in export_articles_csv |
Python Executable: | /home/django/parliament/env/bin/python |
Python Version: | 3.8.10 |
Python Path: | ['/home/django/parliament/env/bin', '/home/django/parliament', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload', '/home/django/parliament/env/lib/python3.8/site-packages'] |
Server time: | Fri, 29 Mar 2024 11:25:40 +0000 |
/home/django/parliament/env/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 | FileNotFoundError(2, 'No such file or directory') |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f9653010370>> |
request | <WSGIRequest: GET '/media/13070/topico/89/artigos'> |
/home/django/parliament/env/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 MediaCategoryArticleListView at 0x7f9651fa38b0> |
callback_args | () |
callback_kwargs | {'category_id': 89, 'pk': '13070'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f9652023580>> |
request | <WSGIRequest: GET '/media/13070/topico/89/artigos'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f9653010370> |
wrapped_callback | <function MediaCategoryArticleListView at 0x7f9651fa38b0> |
/home/django/parliament/env/lib/python3.8/site-packages/django/views/generic/base.py
, line 70, in view
self = cls(**initkwargs)
self.setup(request, *args, **kwargs)
if not hasattr(self, 'request'):
raise AttributeError(
"%s instance has no 'request' attribute. Did you override "
"setup() and forget to call super()?" % cls.__name__
)
return self.dispatch(request, *args, **kwargs)…
view.view_class = cls
view.view_initkwargs = initkwargs
# take name and docstring from class
update_wrapper(view, cls, updated=())
Variable | Value |
---|---|
args | () |
cls | <class 'parliament.views.MediaCategoryArticleListView'> |
initkwargs | {} |
kwargs | {'category_id': 89, 'pk': '13070'} |
request | <WSGIRequest: GET '/media/13070/topico/89/artigos'> |
self | <parliament.views.MediaCategoryArticleListView object at 0x7f9650e02670> |
/home/django/parliament/env/lib/python3.8/site-packages/django/views/generic/base.py
, line 98, in dispatch
# Try to dispatch to the right method; if a method doesn't exist,
# defer to the error handler. Also defer to the error handler if the
# request method isn't on the approved list.
if request.method.lower() in self.http_method_names:
handler = getattr(self, request.method.lower(), self.http_method_not_allowed)
else:
handler = self.http_method_not_allowed
return handler(request, *args, **kwargs)…
def http_method_not_allowed(self, request, *args, **kwargs):
logger.warning(
'Method Not Allowed (%s): %s', request.method, request.path,
extra={'status_code': 405, 'request': request}
)
Variable | Value |
---|---|
args | () |
handler | <bound method BaseListView.get of <parliament.views.MediaCategoryArticleListView object at 0x7f9650e02670>> |
kwargs | {'category_id': 89, 'pk': '13070'} |
request | <WSGIRequest: GET '/media/13070/topico/89/artigos'> |
self | <parliament.views.MediaCategoryArticleListView object at 0x7f9650e02670> |
/home/django/parliament/env/lib/python3.8/site-packages/django/views/generic/list.py
, line 157, in get
is_empty = not self.object_list.exists()
else:
is_empty = not self.object_list
if is_empty:
raise Http404(_('Empty list and “%(class_name)s.allow_empty” is False.') % {
'class_name': self.__class__.__name__,
})
context = self.get_context_data()…
return self.render_to_response(context)
class MultipleObjectTemplateResponseMixin(TemplateResponseMixin):
"""Mixin for responding with a template and list of objects."""
template_name_suffix = '_list'
Variable | Value |
---|---|
allow_empty | True |
args | () |
kwargs | {'category_id': 89, 'pk': '13070'} |
request | <WSGIRequest: GET '/media/13070/topico/89/artigos'> |
self | <parliament.views.MediaCategoryArticleListView object at 0x7f9650e02670> |
/home/django/parliament/parliament/views.py
, line 854, in get_context_data
media = Media.objects.get(id=self.kwargs['pk'])
context['media'] = media
context['category'] = Category.objects.get(id=self.kwargs['category_id'])
context['type'] = 'media-category'
context['filters'] = get_filters(["text", "sort", "start", "end"], self)
context['fname'] = "/static/csv/media_{}_topico_{}.zip".format(self.kwargs['pk'], self.kwargs['category_id'])
context['chart'] = get_articles_year_chart(self.get_queryset())…
return context
# categories
class LegislaturaCategoriesListView(ListView):
model = Category
Variable | Value |
---|---|
__class__ | <class 'parliament.views.MediaCategoryArticleListView'> |
context | {'articles': <QuerySet [<Artigo: Artigo object (148487)>, <Artigo: Artigo object (148489)>, <Artigo: Artigo object (187389)>, <Artigo: Artigo object (147844)>, <Artigo: Artigo object (263741)>, <Artigo: Artigo object (264337)>, <Artigo: Artigo object (263747)>, <Artigo: Artigo object (95075)>, <Artigo: Artigo object (198178)>, <Artigo: Artigo object (15975)>, <Artigo: Artigo object (199271)>, <Artigo: Artigo object (224748)>, <Artigo: Artigo object (128876)>, <Artigo: Artigo object (159712)>, <Artigo: Artigo object (146586)>]>, 'category': <Category: Category object (89)>, 'filters': {'end': None, 'sort': None, 'start': None, 'text': None}, 'fname': '/static/csv/media_13070_topico_89.zip', 'is_paginated': True, 'media': <Media: Media object (13070)>, 'object_list': <QuerySet [<Artigo: Artigo object (148487)>, <Artigo: Artigo object (148489)>, <Artigo: Artigo object (187389)>, <Artigo: Artigo object (147844)>, <Artigo: Artigo object (263741)>, <Artigo: Artigo object (264337)>, <Artigo: Artigo object (263747)>, <Artigo: Artigo object (95075)>, <Artigo: Artigo object (198178)>, <Artigo: Artigo object (15975)>, <Artigo: Artigo object (199271)>, <Artigo: Artigo object (224748)>, <Artigo: Artigo object (128876)>, <Artigo: Artigo object (159712)>, <Artigo: Artigo object (146586)>]>, 'page_obj': <Page 1 of 25>, 'paginator': <django.core.paginator.Paginator object at 0x7f9651e0ae50>, 'type': 'media-category', 'view': <parliament.views.MediaCategoryArticleListView object at 0x7f9650e02670>} |
kwargs | {} |
media | <Media: Media object (13070)> |
self | <parliament.views.MediaCategoryArticleListView object at 0x7f9650e02670> |
/home/django/parliament/parliament/views.py
, line 836, in get_queryset
def get_queryset(self):
queryset = Artigo.objects.filter(category__id=self.kwargs['category_id'], media__id=self.kwargs['pk'])
fname = "media_{}_topico_{}".format(self.kwargs['pk'], self.kwargs['category_id'])
export_articles_csv(queryset, fname)…
params = get_filters(["text", "sort", "start", "end"], self)
queryset = filter_articles(params, queryset)
return queryset
Variable | Value |
---|---|
fname | 'media_13070_topico_89' |
queryset | <QuerySet [<Artigo: Artigo object (7167)>, <Artigo: Artigo object (7174)>, <Artigo: Artigo object (8752)>, <Artigo: Artigo object (9033)>, <Artigo: Artigo object (9584)>, <Artigo: Artigo object (11060)>, <Artigo: Artigo object (11094)>, <Artigo: Artigo object (11112)>, <Artigo: Artigo object (11256)>, <Artigo: Artigo object (11270)>, <Artigo: Artigo object (12285)>, <Artigo: Artigo object (12426)>, <Artigo: Artigo object (13228)>, <Artigo: Artigo object (13245)>, <Artigo: Artigo object (14352)>, <Artigo: Artigo object (15540)>, <Artigo: Artigo object (15975)>, <Artigo: Artigo object (16355)>, <Artigo: Artigo object (18341)>, <Artigo: Artigo object (19532)>, '...(remaining elements truncated)...']> |
self | <parliament.views.MediaCategoryArticleListView object at 0x7f9650e02670> |
/home/django/parliament/parliament/views.py
, line 34, in export_articles_csv
# delete files older than 1 day to save droplet disk space
limit_days = 0.5
treshold = time.time() - limit_days*86400
for file_ in files:
file_path = os.path.join(folder, file_)
creation_time = os.stat(file_path).st_ctime…
if not 'articles.zip' in file_ and creation_time < treshold:
os.remove(file_path)
if not os.path.exists(fname_zip):
Variable | Value |
---|---|
articles | <QuerySet [<Artigo: Artigo object (7167)>, <Artigo: Artigo object (7174)>, <Artigo: Artigo object (8752)>, <Artigo: Artigo object (9033)>, <Artigo: Artigo object (9584)>, <Artigo: Artigo object (11060)>, <Artigo: Artigo object (11094)>, <Artigo: Artigo object (11112)>, <Artigo: Artigo object (11256)>, <Artigo: Artigo object (11270)>, <Artigo: Artigo object (12285)>, <Artigo: Artigo object (12426)>, <Artigo: Artigo object (13228)>, <Artigo: Artigo object (13245)>, <Artigo: Artigo object (14352)>, <Artigo: Artigo object (15540)>, <Artigo: Artigo object (15975)>, <Artigo: Artigo object (16355)>, <Artigo: Artigo object (18341)>, <Artigo: Artigo object (19532)>, '...(remaining elements truncated)...']> |
creation_time | 1711697198.5337243 |
file_ | 'entidade_43_topico_28909.zip' |
file_path | './parliament/static/csv/entidade_43_topico_28909.zip' |
files | ['category_195556.zip', 'legislatura_12_topico_14600.zip', 'legislatura_1_topico_197337.zip', 'legislatura_1_topico_151512.zip', 'media_18382.zip', 'legislatura_1_topico_113896.zip', 'legislatura_1_topico_175348.zip', 'legislatura_11_topico_85297.zip', 'legislatura_7_topico_115742.zip', 'legislatura_6_topico_153783.zip', 'legislatura_5_topico_165487.zip', 'legislatura_4_topico_221357.zip', 'legislatura_5_topico_220167.zip', 'legislatura_1_topico_134753.zip', 'legislatura_12_topico_133999.zip', 'legislatura_11_topico_186976.zip', 'legislatura_1_topico_3973.zip', 'legislatura_6_entidade_558_topico_4504.zip', 'legislatura_7_topico_142633.zip', 'legislatura_1_topico_219047.zip', 'legislatura_5_topico_227512.zip', 'legislatura_1_topico_224902.zip', 'legislatura_7_topico_164370.zip', 'legislatura_5_topico_142011.zip', 'legislatura_5_topico_161633.zip', 'legislatura_4_topico_115798.zip', 'entidade_1179_topico_358.zip', 'entity_868_media_18482.zip', 'legislatura_3_topico_201964.zip', 'legislatura_11_topico_163755.zip', 'legislatura_6_topico_126822.zip', 'legislatura_1_topico_225313.zip', 'legislatura_7_topico_141365.zip', 'legislatura_4_topico_205154.zip', 'media_15933.zip', 'legislatura_5_topico_198083.zip', 'legislatura_4_topico_183925.zip', 'legislatura_4_topico_139964.zip', 'legislatura_1_topico_227511.zip', 'legislatura_5_topico_10800.zip', 'category_211147.zip', 'legislatura_11_topico_209854.zip', 'category_1248.zip', 'legislatura_11_topico_188854.zip', 'legislatura_7_topico_161463.zip', 'legislatura_1_topico_200467.zip', 'legislatura_3_topico_200935.zip', 'legislatura_4_topico_1286.zip', 'category_121159.zip', 'legislatura_12_topico_183804.zip', 'legislatura_12_topico_117844.zip', 'legislatura_3_topico_164740.zip', 'legislatura_11_topico_114866.zip', 'legislatura_4_topico_188810.zip', 'legislatura_12_topico_170162.zip', 'entity_697_media_21000.zip', 'legislatura_3_topico_207244.zip', 'legislatura_3_topico_148981.zip', 'legislatura_5_topico_90271.zip', 'legislatura_3_topico_222824.zip', 'legislatura_6_topico_218293.zip', 'entidade_1132_topico_4002.zip', 'legislatura_1_topico_110983.zip', 'legislatura_7_topico_139789.zip', 'category_151758.zip', 'legislatura_12_topico_206944.zip', 'legislatura_7_topico_187852.zip', 'legislatura_7_entidade_1125_topico_1190.zip', 'legislatura_6_topico_209869.zip', 'legislatura_7_topico_109622.zip', 'legislatura_4_topico_198893.zip', 'category_215799.zip', 'category_214562.zip', 'legislatura_4_topico_144997.zip', 'legislatura_4_topico_227294.zip', 'legislatura_3_topico_169429.zip', 'legislatura_3_topico_151149.zip', 'legislatura_5_topico_180443.zip', 'legislatura_3_topico_217653.zip', 'legislatura_1_topico_122996.zip', 'legislatura_7_topico_127145.zip', 'legislatura_3_topico_192814.zip', 'category_131817.zip', 'legislatura_1_topico_130446.zip', 'category_194417.zip', 'legislatura_1_topico_176611.zip', 'legislatura_12_entidade_1039_topico_96.zip', 'legislatura_1_topico_165250.zip', 'legislatura_3_topico_227802.zip', 'legislatura_4_topico_195377.zip', 'legislatura_3_topico_164257.zip', 'legislatura_1_topico_181580.zip', 'legislatura_3_topico_122405.zip', 'legislatura_3_entidade_526_topico_692.zip', 'legislatura_7_topico_136748.zip', 'legislatura_11_topico_150173.zip', 'legislatura_4_topico_216715.zip', 'legislatura_11_topico_161786.zip', 'legislatura_4_topico_216374.zip', 'legislatura_11_topico_179538.zip', 'legislatura_6_topico_223481.zip', 'legislatura_1_topico_214036.zip', 'legislatura_1_topico_159666.zip', 'legislatura_5_topico_117694.zip', 'legislatura_7_topico_126875.zip', 'entidade_1179_topico_8937.zip', 'legislatura_5_topico_182765.zip', 'legislatura_5_topico_87976.zip', 'legislatura_3_topico_162156.zip', 'legislatura_5_topico_130739.zip', 'legislatura_1_topico_178881.zip', 'legislatura_4_topico_139568.zip', 'legislatura_3_topico_191460.zip', 'legislatura_1_topico_117019.zip', 'legislatura_4_topico_160815.zip', 'media_15811.zip', 'legislatura_6_topico_118611.zip', 'legisla… <trimmed 1562224 bytes string> |
fname | 'media_13070_topico_89' |
fname_csv | './parliament/static/csv/media_13070_topico_89.csv' |
fname_zip | './parliament/static/csv/media_13070_topico_89.zip' |
folder | './parliament/static/csv/' |
limit_days | 0.5 |
treshold | 1711668339.5250475 |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_HOST | 'arquivo-parlamento.pt' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '44.193.208.105' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_REAL_IP | '44.193.208.105' |
PATH_INFO | '/media/13070/topico/89/artigos' |
QUERY_STRING | '' |
RAW_URI | '/media/13070/topico/89/artigos' |
REMOTE_ADDR | '' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | 'arquivo-parlamento.pt' |
SERVER_PORT | '443' |
SERVER_PROTOCOL | 'HTTP/1.0' |
SERVER_SOFTWARE | 'gunicorn/20.1.0' |
gunicorn.socket | <socket.socket fd=9, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0, laddr=/home/django/parliament/run/gunicorn.sock> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f96517e0f70> |
wsgi.file_wrapper | <class 'gunicorn.http.wsgi.FileWrapper'> |
wsgi.input | <gunicorn.http.body.Body object at 0x7f9652055520> |
wsgi.input_terminated | True |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
parliament.settings.production
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['.arquivo-parlamento.pt', 'localhost', '127.0.0.1', '178.128.248.225'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | PosixPath('/home/django/parliament/parliament') |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CORS_ALLOWED_ORIGINS | ['https://arquivo-parlamento.pt', 'http://localhost', 'https://127.0.0.1:8000', 'https://178.128.248.225'] |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | True |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_COOKIE_PATH | '/' |
CSRF_COOKIE_SAMESITE | 'Lax' |
CSRF_COOKIE_SECURE | True |
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': '127.0.0.1', 'NAME': 'parliament', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '5432', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'parliament'}} |
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 | 'False' |
DEBUG_PROPAGATE_EXCEPTIONS | False |
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 | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
DEFAULT_HASHING_ALGORITHM | 'sha256' |
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_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', 'clear_cache', 'parliament', 'corsheaders'] |
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 | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | '' |
MEDIA_URL | '/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['corsheaders.middleware.CorsMiddleware', '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 | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
ROOT_URLCONF | 'parliament.urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | True |
SECURE_CONTENT_TYPE_NOSNIFF | True |
SECURE_HSTS_INCLUDE_SUBDOMAINS | True |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 31449600 |
SECURE_PROXY_SSL_HEADER | ('HTTP_X_FORWARDED_PROTO', 'https') |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
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 | True |
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 | 'parliament.settings.production' |
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 | '/home/django/parliament/parliament/static/' |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'parliament.context_processors.menu']}}] |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THOUSAND_SEPARATOR | ',' |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'UTC' |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'parliament.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.