FileNotFoundError at /documentacao/2/transferir/

[Errno 2] No such file or directory: '/home/cicdespbengo/public_html/media/documentos/2026/06/modelo_projecto_investigacao.txt'
Request Method: GET
Request URL: https://cicd.espbengo.edu.ao/documentacao/2/transferir/
Django Version: 5.2.15
Exception Type: FileNotFoundError
Exception Value:
[Errno 2] No such file or directory: '/home/cicdespbengo/public_html/media/documentos/2026/06/modelo_projecto_investigacao.txt'
Exception Location: /home/cicdespbengo/venv/lib64/python3.11/site-packages/django/core/files/storage/filesystem.py, line 81, in _open
Raised during: apps.documentacao.views.DocumentoDownloadView
Python Executable: /home/cicdespbengo/venv/bin/python3.11
Python Version: 3.11.9
Python Path:
['/home/cicdespbengo/public_html',
 '/home/cicdespbengo/venv/bin',
 '/opt/alt/python311/lib64/python311.zip',
 '/opt/alt/python311/lib64/python3.11',
 '/opt/alt/python311/lib64/python3.11/lib-dynload',
 '/home/cicdespbengo/venv/lib64/python3.11/site-packages',
 '/home/cicdespbengo/venv/lib/python3.11/site-packages']
Server time: Sun, 26 Jul 2026 21:21:41 +0100

Traceback Switch to copy-and-paste view

  • /home/cicdespbengo/venv/lib64/python3.11/site-packages/django/core/handlers/exception.py, line 55, in inner
    1.         return inner
    2.     else:
    3.         @wraps(get_response)
    4.         def inner(request):
    5.             try:
    1.                 response = get_response(request)
                                     ^^^^^^^^^^^^^^^^^^^^^
    1.             except Exception as exc:
    2.                 response = response_for_exception(request, exc)
    3.             return response
    4.         return inner
    Local vars
    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 0x7fa9ca732c50>>
    request
    <WSGIRequest: GET '/documentacao/2/transferir/'>
  • /home/cicdespbengo/venv/lib64/python3.11/site-packages/django/core/handlers/base.py, line 197, in _get_response
    1.         if response is None:
    2.             wrapped_callback = self.make_view_atomic(callback)
    3.             # If it is an asynchronous view, run it in a subthread.
    4.             if iscoroutinefunction(wrapped_callback):
    5.                 wrapped_callback = async_to_sync(wrapped_callback)
    6.             try:
    1.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.             except Exception as e:
    2.                 response = self.process_exception_by_middleware(e, request)
    3.                 if response is None:
    4.                     raise
    5.         # Complain if the view returned None (a common error).
    Local vars
    Variable Value
    callback
    <function View.as_view.<locals>.view at 0x7fa9c9871300>
    callback_args
    ()
    callback_kwargs
    {'pk': 2}
    middleware_method
    <bound method CsrfViewMiddleware.process_view of <CsrfViewMiddleware get_response=convert_exception_to_response.<locals>.inner>>
    request
    <WSGIRequest: GET '/documentacao/2/transferir/'>
    response
    None
    self
    <django.core.handlers.wsgi.WSGIHandler object at 0x7fa9ca732c50>
    wrapped_callback
    <function View.as_view.<locals>.view at 0x7fa9c9871300>
  • /home/cicdespbengo/venv/lib64/python3.11/site-packages/django/views/generic/base.py, line 105, in view
    1.             self = cls(**initkwargs)
    2.             self.setup(request, *args, **kwargs)
    3.             if not hasattr(self, "request"):
    4.                 raise AttributeError(
    5.                     "%s instance has no 'request' attribute. Did you override "
    6.                     "setup() and forget to call super()?" % cls.__name__
    7.                 )
    1.             return self.dispatch(request, *args, **kwargs)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         view.view_class = cls
    2.         view.view_initkwargs = initkwargs
    3.         # __name__ and __qualname__ are intentionally left unchanged as
    4.         # view_class should be used to robustly determine the name of the view
    Local vars
    Variable Value
    args
    ()
    cls
    <class 'apps.documentacao.views.DocumentoDownloadView'>
    initkwargs
    {}
    kwargs
    {'pk': 2}
    request
    <WSGIRequest: GET '/documentacao/2/transferir/'>
    self
    <apps.documentacao.views.DocumentoDownloadView object at 0x7fa9c9461550>
  • /home/cicdespbengo/venv/lib64/python3.11/site-packages/django/views/generic/base.py, line 144, in dispatch
    1.         # request method isn't on the approved list.
    2.         if request.method.lower() in self.http_method_names:
    3.             handler = getattr(
    4.                 self, request.method.lower(), self.http_method_not_allowed
    5.             )
    6.         else:
    7.             handler = self.http_method_not_allowed
    1.         return handler(request, *args, **kwargs)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.     def http_method_not_allowed(self, request, *args, **kwargs):
    2.         response = HttpResponseNotAllowed(self._allowed_methods())
    3.         log_response(
    4.             "Method Not Allowed (%s): %s",
    5.             request.method,
    Local vars
    Variable Value
    args
    ()
    handler
    <bound method DocumentoDownloadView.get of <apps.documentacao.views.DocumentoDownloadView object at 0x7fa9c9461550>>
    kwargs
    {'pk': 2}
    request
    <WSGIRequest: GET '/documentacao/2/transferir/'>
    self
    <apps.documentacao.views.DocumentoDownloadView object at 0x7fa9c9461550>
  • /home/cicdespbengo/public_html/apps/documentacao/views.py, line 64, in get
    1.         documento = get_object_or_404(Documento, pk=pk)
    2.         if not documento.ficheiro:
    3.             raise Http404
    4.         Documento.objects.filter(pk=pk).update(contagem_transferencias=F('contagem_transferencias') + 1)
    5.         return FileResponse(
    1.             documento.ficheiro.open('rb'),
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.             as_attachment=True,
    2.             filename=documento.nome_ficheiro,
    3.         )
    4. class GestaoDocumentosListView(LoginRequiredMixin, StaffRequiredMixin, ListView):
    Local vars
    Variable Value
    _request
    <WSGIRequest: GET '/documentacao/2/transferir/'>
    documento
    <Documento: Modelo de Projecto de Investigação>
    pk
    2
    self
    <apps.documentacao.views.DocumentoDownloadView object at 0x7fa9c9461550>
  • /home/cicdespbengo/venv/lib64/python3.11/site-packages/django/db/models/fields/files.py, line 82, in open
    1.         if not self._committed:
    2.             return self.file.size
    3.         return self.storage.size(self.name)
    4.     def open(self, mode="rb"):
    5.         self._require_file()
    6.         if getattr(self, "_file", None) is None:
    1.             self.file = self.storage.open(self.name, mode)
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         else:
    2.             self.file.open(mode)
    3.         return self
    4.     # open() doesn't alter the file's contents, but it does reset the pointer
    5.     open.alters_data = True
    Local vars
    Variable Value
    mode
    'rb'
    self
    <FieldFile: documentos/2026/06/modelo_projecto_investigacao.txt>
  • /home/cicdespbengo/venv/lib64/python3.11/site-packages/django/core/files/storage/base.py, line 22, in open
    1.     """
    2.     # The following methods represent a public interface to private methods.
    3.     # These shouldn't be overridden by subclasses unless absolutely necessary.
    4.     def open(self, name, mode="rb"):
    5.         """Retrieve the specified file from storage."""
    1.         return self._open(name, mode)
                         ^^^^^^^^^^^^^^^^^^^^^^
    1.     def save(self, name, content, max_length=None):
    2.         """
    3.         Save new content to the file specified by name. The content should be
    4.         a proper File object or any Python file-like object, ready to be read
    5.         from the beginning.
    Local vars
    Variable Value
    mode
    'rb'
    name
    'documentos/2026/06/modelo_projecto_investigacao.txt'
    self
    <django.core.files.storage.filesystem.FileSystemStorage object at 0x7fa9c9607010>
  • /home/cicdespbengo/venv/lib64/python3.11/site-packages/django/core/files/storage/filesystem.py, line 81, in _open
    1.     @cached_property
    2.     def directory_permissions_mode(self):
    3.         return self._value_or_setting(
    4.             self._directory_permissions_mode, settings.FILE_UPLOAD_DIRECTORY_PERMISSIONS
    5.         )
    6.     def _open(self, name, mode="rb"):
    1.         return File(open(self.path(name), mode))
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.     def _save(self, name, content):
    2.         full_path = self.path(name)
    3.         # Create any intermediate directories that do not exist.
    4.         directory = os.path.dirname(full_path)
    Local vars
    Variable Value
    mode
    'rb'
    name
    'documentos/2026/06/modelo_projecto_investigacao.txt'
    self
    <django.core.files.storage.filesystem.FileSystemStorage object at 0x7fa9c9607010>


Request information

USER

AnonymousUser

GET

No GET data

POST

No POST data

FILES

No FILES data

No cookie data

META

Variable Value
HTTP_ACCEPT
'*/*'
HTTP_ACCEPT_ENCODING
'gzip, br, zstd, deflate'
HTTP_CONNECTION
'Keep-Alive'
HTTP_HOST
'cicd.espbengo.edu.ao'
HTTP_USER_AGENT
('Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; '
 'ClaudeBot/1.0; +claudebot@anthropic.com)')
HTTP_X_FORWARDED_FOR
'216.73.216.52'
HTTP_X_FORWARDED_HOST
'cicd.espbengo.edu.ao'
HTTP_X_FORWARDED_PROTO
'https'
HTTP_X_FORWARDED_SERVER
'cicd.espbengo.edu.ao'
HTTP_X_HTTPS
'1'
PATH_INFO
'/documentacao/2/transferir/'
QUERY_STRING
''
RAW_URI
'/documentacao/2/transferir/'
REMOTE_ADDR
'127.0.0.1'
REMOTE_PORT
'42576'
REQUEST_METHOD
'GET'
SCRIPT_NAME
''
SERVER_NAME
'127.0.0.1'
SERVER_PORT
'8005'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SOFTWARE
'gunicorn/26.0.0'
gunicorn.socket
<socket.socket fd=3, family=2, type=1, proto=0, laddr=('127.0.0.1', 8005), raddr=('127.0.0.1', 42576)>
wsgi.early_hints
<function _make_early_hints_callback.<locals>.send_early_hints at 0x7fa9c95663e0>
wsgi.errors
<gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7fa9c944eec0>
wsgi.file_wrapper
<class 'gunicorn.http.wsgi.FileWrapper'>
wsgi.input
<gunicorn.http.body.Body object at 0x7fa9c95e0c10>
wsgi.input_terminated
True
wsgi.multiprocess
True
wsgi.multithread
False
wsgi.run_once
False
wsgi.url_scheme
'https'
wsgi.version
(1, 0)

Settings

Using settings module config.settings.production

Setting Value
ABSOLUTE_URL_OVERRIDES
{}
ACCOUNT_ADAPTER
'apps.accounts.adapter.AccountAdapter'
ACCOUNT_EMAIL_VERIFICATION
'none'
ACCOUNT_LOGIN_METHODS
{'email'}
ACCOUNT_SIGNUP_FIELDS
['email*']
ACCOUNT_USER_MODEL_USERNAME_FIELD
'username'
ADMINS
[]
ALLOWED_HOSTS
['cicd.espbengo.edu.ao', 'www.cicd.espbengo.edu.ao', '162.240.100.119']
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
'********************'
AUTH_PASSWORD_VALIDATORS
'********************'
AUTH_USER_MODEL
'********************'
BASE_DIR
PosixPath('/home/cicdespbengo/public_html')
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS
'default'
CACHE_MIDDLEWARE_KEY_PREFIX
'********************'
CACHE_MIDDLEWARE_SECONDS
600
CICD_ADMIN_EMAILS
{'bernardo.sacanene@espbengo.edu.ao',
 'cicd@espbengo.edu.ao',
 'dtic@espbengo.edu.ao'}
CICD_INSTITUICAO
'Escola Superior Pedagógica do Bengo (ESPE-Bengo)'
CICD_NOME
'Centro de Investigação Científica e Desenvolvimento'
CICD_SIGLA
'CICD'
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_HEALTH_CHECKS': False,
             'CONN_MAX_AGE': 0,
             'ENGINE': 'django.db.backends.sqlite3',
             'HOST': '',
             'NAME': PosixPath('/home/cicdespbengo/public_html/db.sqlite3'),
             'OPTIONS': {},
             'PASSWORD': '********************',
             'PORT': '',
             'TEST': {'CHARSET': None,
                      'COLLATION': None,
                      'MIGRATE': True,
                      'MIRROR': None,
                      'NAME': None},
             'TIME_ZONE': None,
             'USER': ''}}
DATABASE_ROUTERS
[]
DATA_UPLOAD_MAX_MEMORY_SIZE
2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS
1000
DATA_UPLOAD_MAX_NUMBER_FILES
100
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
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_FROM_EMAIL
'cicd@espbengo.edu.ao'
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
''
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_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
FORMS_URLFIELD_ASSUME_HTTPS
False
FORM_RENDERER
'django.forms.renderers.DjangoTemplates'
GOOGLE_WORKSPACE_DOMAIN
'espbengo.edu.ao'
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',
 'django_filters',
 'import_export',
 'allauth',
 'allauth.account',
 'allauth.socialaccount',
 'allauth.socialaccount.providers.google',
 'apps.core',
 'apps.accounts',
 'apps.investigadores',
 'apps.linhas_investigacao',
 'apps.producao_cientifica',
 'apps.projectos',
 'apps.eventos',
 'apps.documentacao',
 'apps.questionario']
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'),
 ('ckb', 'Central Kurdish (Sorani)'),
 ('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'),
 ('ms', 'Malay'),
 ('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'),
 ('ug', 'Uyghur'),
 ('uk', 'Ukrainian'),
 ('ur', 'Urdu'),
 ('uz', 'Uzbek'),
 ('vi', 'Vietnamese'),
 ('zh-hans', 'Simplified Chinese'),
 ('zh-hant', 'Traditional Chinese')]
LANGUAGES_BIDI
['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ug', 'ur']
LANGUAGE_CODE
'pt-pt'
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
'core:dashboard'
LOGIN_URL
'accounts:login'
LOGOUT_REDIRECT_URL
'core:home'
MANAGERS
[]
MEDIA_ROOT
PosixPath('/home/cicdespbengo/public_html/media')
MEDIA_URL
'/media/'
MESSAGE_STORAGE
'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE
['apps.core.middleware.DebugErrorMiddleware',
 'django.middleware.security.SecurityMiddleware',
 'whitenoise.middleware.WhiteNoiseMiddleware',
 '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',
 'allauth.account.middleware.AccountMiddleware']
MIGRATION_MODULES
{}
MONTH_DAY_FORMAT
'F j'
NUMBER_GROUPING
0
PASSWORD_HASHERS
'********************'
PASSWORD_RESET_TIMEOUT
'********************'
PREPEND_WWW
False
ROOT_URLCONF
'config.urls'
SECRET_KEY
'********************'
SECRET_KEY_FALLBACKS
'********************'
SECURE_CONTENT_TYPE_NOSNIFF
True
SECURE_CROSS_ORIGIN_OPENER_POLICY
'same-origin'
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
SERVER_EMAIL
'cicd@espbengo.edu.ao'
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
'config.settings.production'
SHORT_DATETIME_FORMAT
'm/d/Y P'
SHORT_DATE_FORMAT
'm/d/Y'
SIGNED_COOKIE_LEGACY_SALT_FALLBACK
True
SIGNING_BACKEND
'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
SITE_ID
1
SOCIALACCOUNT_ADAPTER
'apps.accounts.adapter.GoogleWorkspaceAccountAdapter'
SOCIALACCOUNT_AUTO_SIGNUP
True
SOCIALACCOUNT_LOGIN_ON_GET
True
SOCIALACCOUNT_PROVIDERS
{'google': {'APP': {'client_id': '318834332951-uo7kqe80nuvs5le33vcc04pkfbfbn1go.apps.googleusercontent.com',
                    'key': '********************',
                    'secret': '********************'},
            'AUTH_PARAMS': '********************',
            'SCOPE': ['profile', 'email']}}
SOCIALACCOUNT_QUERY_EMAIL
True
SOCIALACCOUNT_STORE_TOKENS
'********************'
STATICFILES_DIRS
[PosixPath('/home/cicdespbengo/public_html/static')]
STATICFILES_FINDERS
['django.contrib.staticfiles.finders.FileSystemFinder',
 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATIC_ROOT
PosixPath('/home/cicdespbengo/public_html/staticfiles')
STATIC_URL
'/static/'
STORAGES
{'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'},
 'staticfiles': {'BACKEND': 'whitenoise.storage.CompressedStaticFilesStorage'}}
TEMPLATES
[{'APP_DIRS': True,
  'BACKEND': 'django.template.backends.django.DjangoTemplates',
  'DIRS': [PosixPath('/home/cicdespbengo/public_html/templates')],
  'OPTIONS': {'context_processors': ['django.template.context_processors.request',
                                     'django.contrib.auth.context_processors.auth',
                                     'django.contrib.messages.context_processors.messages',
                                     'apps.core.context_processors.site_context']}}]
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
'Africa/Luanda'
USE_I18N
True
USE_THOUSAND_SEPARATOR
False
USE_TZ
True
USE_X_FORWARDED_HOST
False
USE_X_FORWARDED_PORT
False
WSGI_APPLICATION
'config.wsgi.application'
X_FRAME_OPTIONS
'DENY'
YEAR_MONTH_FORMAT
'F Y'