ProgrammingError at /api/storage/files/1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2/link-bundles/

relation "storage_filelinkbundle" does not exist
LINE 1: ...ed_at", "storage_filelinkbundle"."is_active" FROM "storage_f...
                                                             ^
Request Method: GET
Request URL: https://netnest.org/api/storage/files/1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2/link-bundles/
Django Version: 5.2.8
Exception Type: ProgrammingError
Exception Value:
relation "storage_filelinkbundle" does not exist
LINE 1: ...ed_at", "storage_filelinkbundle"."is_active" FROM "storage_f...
                                                             ^
Exception Location: /var/www/development/backend/venv/lib/python3.12/site-packages/psycopg/cursor.py, line 117, in execute
Raised during: storage.views.FileLinkBundlesView
Python Executable: /var/www/development/backend/venv/bin/python3
Python Version: 3.12.3
Python Path:
['/var/www/development/backend',
 '/var/www/development/backend',
 '/var/www/development/backend/venv/bin',
 '/usr/lib/python312.zip',
 '/usr/lib/python3.12',
 '/usr/lib/python3.12/lib-dynload',
 '/var/www/development/backend/venv/lib/python3.12/site-packages']
Server time: Sat, 18 Apr 2026 05:55:39 +0000

Traceback Switch to copy-and-paste view

  • /var/www/development/backend/venv/lib/python3.12/site-packages/django/db/backends/utils.py, line 105, in _execute
    1.             warnings.warn(self.APPS_NOT_READY_WARNING_MSG, category=RuntimeWarning)
    2.         self.db.validate_no_broken_transaction()
    3.         with self.db.wrap_database_errors:
    4.             if params is None:
    5.                 # params default might be backend specific.
    6.                 return self.cursor.execute(sql)
    7.             else:
    1.                 return self.cursor.execute(sql, params)
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.     def _executemany(self, sql, param_list, *ignored_wrapper_args):
    2.         # Raise a warning during app initialization (stored_app_configs is only
    3.         # ever set during testing).
    4.         if not apps.ready and not apps.stored_app_configs:
    5.             warnings.warn(self.APPS_NOT_READY_WARNING_MSG, category=RuntimeWarning)
    Local vars
    Variable Value
    ignored_wrapper_args
    (False,
     {'connection': <DatabaseWrapper vendor='postgresql' alias='default'>,
      'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x72d1fccd0770>})
    params
    (UUID('1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2'),)
    self
    <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x72d1fccd0770>
    sql
    ('SELECT "storage_filelinkbundle"."id", "storage_filelinkbundle"."entry_id", '
     '"storage_filelinkbundle"."share_url", '
     '"storage_filelinkbundle"."download_url", '
     '"storage_filelinkbundle"."expires_at", '
     '"storage_filelinkbundle"."created_at", "storage_filelinkbundle"."is_active" '
     'FROM "storage_filelinkbundle" WHERE "storage_filelinkbundle"."entry_id" = %s '
     'ORDER BY "storage_filelinkbundle"."created_at" DESC')
  • /var/www/development/backend/venv/lib/python3.12/site-packages/psycopg/cursor.py, line 117, in execute
    1.         """
    2.         try:
    3.             with self._conn.lock:
    4.                 self._conn.wait(
    5.                     self._execute_gen(query, params, prepare=prepare, binary=binary)
    6.                 )
    7.         except e._NO_TRACEBACK as ex:
    1.             raise ex.with_traceback(None)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         return self
    2.     def executemany(
    3.         self, query: Query, params_seq: Iterable[Params], *, returning: bool = False
    4.     ) -> None:
    5.         """
    Local vars
    Variable Value
    binary
    None
    params
    (UUID('1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2'),)
    prepare
    None
    query
    ('SELECT "storage_filelinkbundle"."id", "storage_filelinkbundle"."entry_id", '
     '"storage_filelinkbundle"."share_url", '
     '"storage_filelinkbundle"."download_url", '
     '"storage_filelinkbundle"."expires_at", '
     '"storage_filelinkbundle"."created_at", "storage_filelinkbundle"."is_active" '
     'FROM "storage_filelinkbundle" WHERE "storage_filelinkbundle"."entry_id" = %s '
     'ORDER BY "storage_filelinkbundle"."created_at" DESC')
    self
    <django.db.backends.postgresql.base.Cursor [closed] [IDLE] (host=localhost user=rpuser4net database=netnestdb7) at 0x72d1fcc14e90>
  • The above exception (relation "storage_filelinkbundle" does not exist LINE 1: ...ed_at", "storage_filelinkbundle"."is_active" FROM "storage_f... ^) was the direct cause of the following exception:

  • /var/www/development/backend/venv/lib/python3.12/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
    ProgrammingError('relation "storage_filelinkbundle" does not exist\nLINE 1: ...ed_at", "storage_filelinkbundle"."is_active" FROM "storage_f...\n                                                             ^')
    get_response
    <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x72d20199ae40>>
    request
    <WSGIRequest: GET '/api/storage/files/1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2/link-bundles/'>
  • /var/www/development/backend/venv/lib/python3.12/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 0x72d1ffafb060>
    callback_args
    ()
    callback_kwargs
    {'entry_id': UUID('1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2')}
    middleware_method
    <bound method CsrfViewMiddleware.process_view of <CsrfViewMiddleware get_response=convert_exception_to_response.<locals>.inner>>
    request
    <WSGIRequest: GET '/api/storage/files/1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2/link-bundles/'>
    response
    None
    self
    <django.core.handlers.wsgi.WSGIHandler object at 0x72d20199ae40>
    wrapped_callback
    <function View.as_view.<locals>.view at 0x72d1ffafb060>
  • /var/www/development/backend/venv/lib/python3.12/site-packages/django/views/decorators/csrf.py, line 65, in _view_wrapper
    1.         async def _view_wrapper(request, *args, **kwargs):
    2.             return await view_func(request, *args, **kwargs)
    3.     else:
    4.         def _view_wrapper(request, *args, **kwargs):
    1.             return view_func(request, *args, **kwargs)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.     _view_wrapper.csrf_exempt = True
    2.     return wraps(view_func)(_view_wrapper)
    Local vars
    Variable Value
    args
    ()
    kwargs
    {'entry_id': UUID('1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2')}
    request
    <WSGIRequest: GET '/api/storage/files/1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2/link-bundles/'>
    view_func
    <function View.as_view.<locals>.view at 0x72d1ffafafc0>
  • /var/www/development/backend/venv/lib/python3.12/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 'storage.views.FileLinkBundlesView'>
    initkwargs
    {}
    kwargs
    {'entry_id': UUID('1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2')}
    request
    <WSGIRequest: GET '/api/storage/files/1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2/link-bundles/'>
    self
    <storage.views.FileLinkBundlesView object at 0x72d1fccd0290>
  • /var/www/development/backend/venv/lib/python3.12/site-packages/rest_framework/views.py, line 515, in dispatch
    1.                                   self.http_method_not_allowed)
    2.             else:
    3.                 handler = self.http_method_not_allowed
    4.             response = handler(request, *args, **kwargs)
    5.         except Exception as exc:
    1.             response = self.handle_exception(exc)
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         self.response = self.finalize_response(request, response, *args, **kwargs)
    2.         return self.response
    3.     def options(self, request, *args, **kwargs):
    4.         """
    Local vars
    Variable Value
    args
    ()
    handler
    <bound method FileLinkBundlesView.get of <storage.views.FileLinkBundlesView object at 0x72d1fccd0290>>
    kwargs
    {'entry_id': UUID('1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2')}
    request
    <rest_framework.request.Request: GET '/api/storage/files/1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2/link-bundles/'>
    self
    <storage.views.FileLinkBundlesView object at 0x72d1fccd0290>
  • /var/www/development/backend/venv/lib/python3.12/site-packages/rest_framework/views.py, line 475, in handle_exception
    1.         exception_handler = self.get_exception_handler()
    2.         context = self.get_exception_handler_context()
    3.         response = exception_handler(exc, context)
    4.         if response is None:
    1.             self.raise_uncaught_exception(exc)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         response.exception = True
    2.         return response
    3.     def raise_uncaught_exception(self, exc):
    4.         if settings.DEBUG:
    Local vars
    Variable Value
    context
    {'args': (),
     'kwargs': {'entry_id': UUID('1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2')},
     'request': <rest_framework.request.Request: GET '/api/storage/files/1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2/link-bundles/'>,
     'view': <storage.views.FileLinkBundlesView object at 0x72d1fccd0290>}
    exc
    ProgrammingError('relation "storage_filelinkbundle" does not exist\nLINE 1: ...ed_at", "storage_filelinkbundle"."is_active" FROM "storage_f...\n                                                             ^')
    exception_handler
    <function custom_exception_handler at 0x72d1fdb8f240>
    response
    None
    self
    <storage.views.FileLinkBundlesView object at 0x72d1fccd0290>
  • /var/www/development/backend/venv/lib/python3.12/site-packages/rest_framework/views.py, line 486, in raise_uncaught_exception
    1.     def raise_uncaught_exception(self, exc):
    2.         if settings.DEBUG:
    3.             request = self.request
    4.             renderer_format = getattr(request.accepted_renderer, 'format')
    5.             use_plaintext_traceback = renderer_format not in ('html', 'api', 'admin')
    6.             request.force_plaintext_errors(use_plaintext_traceback)
    1.         raise exc
                   ^^^^^^^^^
    1.     # Note: Views are made CSRF exempt from within `as_view` as to prevent
    2.     # accidental removal of this exemption in cases where `dispatch` needs to
    3.     # be overridden.
    4.     def dispatch(self, request, *args, **kwargs):
    5.         """
    Local vars
    Variable Value
    exc
    ProgrammingError('relation "storage_filelinkbundle" does not exist\nLINE 1: ...ed_at", "storage_filelinkbundle"."is_active" FROM "storage_f...\n                                                             ^')
    renderer_format
    'json'
    request
    <rest_framework.request.Request: GET '/api/storage/files/1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2/link-bundles/'>
    self
    <storage.views.FileLinkBundlesView object at 0x72d1fccd0290>
    use_plaintext_traceback
    True
  • /var/www/development/backend/venv/lib/python3.12/site-packages/rest_framework/views.py, line 512, in dispatch
    1.             # Get the appropriate handler method
    2.             if request.method.lower() in self.http_method_names:
    3.                 handler = getattr(self, request.method.lower(),
    4.                                   self.http_method_not_allowed)
    5.             else:
    6.                 handler = self.http_method_not_allowed
    1.             response = handler(request, *args, **kwargs)
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         except Exception as exc:
    2.             response = self.handle_exception(exc)
    3.         self.response = self.finalize_response(request, response, *args, **kwargs)
    4.         return self.response
    Local vars
    Variable Value
    args
    ()
    handler
    <bound method FileLinkBundlesView.get of <storage.views.FileLinkBundlesView object at 0x72d1fccd0290>>
    kwargs
    {'entry_id': UUID('1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2')}
    request
    <rest_framework.request.Request: GET '/api/storage/files/1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2/link-bundles/'>
    self
    <storage.views.FileLinkBundlesView object at 0x72d1fccd0290>
  • /var/www/development/backend/storage/views.py, line 4623, in get
    1.     def get(self, request, entry_id):
    2.         entry = get_object_or_404(FileEntry, id=entry_id, owner=request.user)
    3.         bundles = entry.link_bundles.order_by("-created_at")
    4.         data = []
    1.         for b in bundles:
                    ^^^^^^
    1.             data.append({
    2.                 "id": b.id,
    3.                 "share_url": b.share_url,
    4.                 "download_url": b.download_url,
    5.                 "expires_at": b.expires_at.isoformat(),
    6.                 "created_at": b.created_at.isoformat(),
    Local vars
    Variable Value
    bundles
    Error in formatting: ProgrammingError: relation "storage_filelinkbundle" does not exist
    LINE 1: ...ed_at", "storage_filelinkbundle"."is_active" FROM "storage_f...
                                                                 ^
    data
    []
    entry
    <FileEntry: IMG_20200622_122206_604.jpg>
    entry_id
    UUID('1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2')
    request
    <rest_framework.request.Request: GET '/api/storage/files/1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2/link-bundles/'>
    self
    <storage.views.FileLinkBundlesView object at 0x72d1fccd0290>
  • /var/www/development/backend/venv/lib/python3.12/site-packages/django/db/models/query.py, line 386, in __iter__
    1.             2. sql.compiler.results_iter()
    2.                - Returns one row at time. At this point the rows are still just
    3.                  tuples. In some cases the return values are converted to
    4.                  Python values at this location.
    5.             3. self.iterator()
    6.                - Responsible for turning the rows into model objects.
    7.         """
    1.         self._fetch_all()
                   ^^^^^^^^^^^^^^^^^
    1.         return iter(self._result_cache)
    2.     def __aiter__(self):
    3.         # Remember, __aiter__ itself is synchronous, it's the thing it returns
    4.         # that is async!
    5.         async def generator():
    Local vars
    Variable Value
    self
    Error in formatting: ProgrammingError: relation "storage_filelinkbundle" does not exist
    LINE 1: ...ed_at", "storage_filelinkbundle"."is_active" FROM "storage_f...
                                                                 ^
  • /var/www/development/backend/venv/lib/python3.12/site-packages/django/db/models/query.py, line 1954, in _fetch_all
    1.         c._known_related_objects = self._known_related_objects
    2.         c._iterable_class = self._iterable_class
    3.         c._fields = self._fields
    4.         return c
    5.     def _fetch_all(self):
    6.         if self._result_cache is None:
    1.             self._result_cache = list(self._iterable_class(self))
                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         if self._prefetch_related_lookups and not self._prefetch_done:
    2.             self._prefetch_related_objects()
    3.     def _next_is_sticky(self):
    4.         """
    5.         Indicate that the next filter call and the one following that should
    Local vars
    Variable Value
    self
    Error in formatting: ProgrammingError: relation "storage_filelinkbundle" does not exist
    LINE 1: ...ed_at", "storage_filelinkbundle"."is_active" FROM "storage_f...
                                                                 ^
  • /var/www/development/backend/venv/lib/python3.12/site-packages/django/db/models/query.py, line 93, in __iter__
    1.     def __iter__(self):
    2.         queryset = self.queryset
    3.         db = queryset.db
    4.         compiler = queryset.query.get_compiler(using=db)
    5.         # Execute the query. This will also fill compiler.select, klass_info,
    6.         # and annotations.
    1.         results = compiler.execute_sql(
                            
    1.             chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size
    2.         )
    3.         select, klass_info, annotation_col_map = (
    4.             compiler.select,
    5.             compiler.klass_info,
    6.             compiler.annotation_col_map,
    Local vars
    Variable Value
    compiler
    <SQLCompiler model=FileLinkBundle connection=<DatabaseWrapper vendor='postgresql' alias='default'> using='default'>
    db
    'default'
    queryset
    Error in formatting: ProgrammingError: relation "storage_filelinkbundle" does not exist
    LINE 1: ...ed_at", "storage_filelinkbundle"."is_active" FROM "storage_f...
                                                                 ^
    self
    <django.db.models.query.ModelIterable object at 0x72d1fccaddc0>
  • /var/www/development/backend/venv/lib/python3.12/site-packages/django/db/models/sql/compiler.py, line 1623, in execute_sql
    1.             else:
    2.                 return
    3.         if chunked_fetch:
    4.             cursor = self.connection.chunked_cursor()
    5.         else:
    6.             cursor = self.connection.cursor()
    7.         try:
    1.             cursor.execute(sql, params)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         except Exception:
    2.             # Might fail for server-side cursors (e.g. connection closed)
    3.             cursor.close()
    4.             raise
    5.         if result_type == ROW_COUNT:
    Local vars
    Variable Value
    chunk_size
    100
    chunked_fetch
    False
    cursor
    <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x72d1fccd0770>
    params
    (UUID('1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2'),)
    result_type
    'multi'
    self
    <SQLCompiler model=FileLinkBundle connection=<DatabaseWrapper vendor='postgresql' alias='default'> using='default'>
    sql
    ('SELECT "storage_filelinkbundle"."id", "storage_filelinkbundle"."entry_id", '
     '"storage_filelinkbundle"."share_url", '
     '"storage_filelinkbundle"."download_url", '
     '"storage_filelinkbundle"."expires_at", '
     '"storage_filelinkbundle"."created_at", "storage_filelinkbundle"."is_active" '
     'FROM "storage_filelinkbundle" WHERE "storage_filelinkbundle"."entry_id" = %s '
     'ORDER BY "storage_filelinkbundle"."created_at" DESC')
  • /var/www/development/backend/venv/lib/python3.12/site-packages/django/db/backends/utils.py, line 122, in execute
    1. class CursorDebugWrapper(CursorWrapper):
    2.     # XXX callproc isn't instrumented at this time.
    3.     def execute(self, sql, params=None):
    4.         with self.debug_sql(sql, params, use_last_executed_query=True):
    1.             return super().execute(sql, params)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.     def executemany(self, sql, param_list):
    2.         with self.debug_sql(sql, param_list, many=True):
    3.             return super().executemany(sql, param_list)
    4.     @contextmanager
    Local vars
    Variable Value
    __class__
    <class 'django.db.backends.utils.CursorDebugWrapper'>
    params
    (UUID('1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2'),)
    self
    <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x72d1fccd0770>
    sql
    ('SELECT "storage_filelinkbundle"."id", "storage_filelinkbundle"."entry_id", '
     '"storage_filelinkbundle"."share_url", '
     '"storage_filelinkbundle"."download_url", '
     '"storage_filelinkbundle"."expires_at", '
     '"storage_filelinkbundle"."created_at", "storage_filelinkbundle"."is_active" '
     'FROM "storage_filelinkbundle" WHERE "storage_filelinkbundle"."entry_id" = %s '
     'ORDER BY "storage_filelinkbundle"."created_at" DESC')
  • /var/www/development/backend/venv/lib/python3.12/site-packages/django/db/backends/utils.py, line 79, in execute
    1.             elif kparams is None:
    2.                 return self.cursor.callproc(procname, params)
    3.             else:
    4.                 params = params or ()
    5.                 return self.cursor.callproc(procname, params, kparams)
    6.     def execute(self, sql, params=None):
    1.         return self._execute_with_wrappers(
                         
    1.             sql, params, many=False, executor=self._execute
    2.         )
    3.     def executemany(self, sql, param_list):
    4.         return self._execute_with_wrappers(
    5.             sql, param_list, many=True, executor=self._executemany
    Local vars
    Variable Value
    params
    (UUID('1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2'),)
    self
    <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x72d1fccd0770>
    sql
    ('SELECT "storage_filelinkbundle"."id", "storage_filelinkbundle"."entry_id", '
     '"storage_filelinkbundle"."share_url", '
     '"storage_filelinkbundle"."download_url", '
     '"storage_filelinkbundle"."expires_at", '
     '"storage_filelinkbundle"."created_at", "storage_filelinkbundle"."is_active" '
     'FROM "storage_filelinkbundle" WHERE "storage_filelinkbundle"."entry_id" = %s '
     'ORDER BY "storage_filelinkbundle"."created_at" DESC')
  • /var/www/development/backend/venv/lib/python3.12/site-packages/django/db/backends/utils.py, line 92, in _execute_with_wrappers
    1.             sql, param_list, many=True, executor=self._executemany
    2.         )
    3.     def _execute_with_wrappers(self, sql, params, many, executor):
    4.         context = {"connection": self.db, "cursor": self}
    5.         for wrapper in reversed(self.db.execute_wrappers):
    6.             executor = functools.partial(wrapper, executor)
    1.         return executor(sql, params, many, context)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.     def _execute(self, sql, params, *ignored_wrapper_args):
    2.         # Raise a warning during app initialization (stored_app_configs is only
    3.         # ever set during testing).
    4.         if not apps.ready and not apps.stored_app_configs:
    5.             warnings.warn(self.APPS_NOT_READY_WARNING_MSG, category=RuntimeWarning)
    Local vars
    Variable Value
    context
    {'connection': <DatabaseWrapper vendor='postgresql' alias='default'>,
     'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x72d1fccd0770>}
    executor
    <bound method CursorWrapper._execute of <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x72d1fccd0770>>
    many
    False
    params
    (UUID('1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2'),)
    self
    <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x72d1fccd0770>
    sql
    ('SELECT "storage_filelinkbundle"."id", "storage_filelinkbundle"."entry_id", '
     '"storage_filelinkbundle"."share_url", '
     '"storage_filelinkbundle"."download_url", '
     '"storage_filelinkbundle"."expires_at", '
     '"storage_filelinkbundle"."created_at", "storage_filelinkbundle"."is_active" '
     'FROM "storage_filelinkbundle" WHERE "storage_filelinkbundle"."entry_id" = %s '
     'ORDER BY "storage_filelinkbundle"."created_at" DESC')
  • /var/www/development/backend/venv/lib/python3.12/site-packages/django/db/backends/utils.py, line 100, in _execute
    1.     def _execute(self, sql, params, *ignored_wrapper_args):
    2.         # Raise a warning during app initialization (stored_app_configs is only
    3.         # ever set during testing).
    4.         if not apps.ready and not apps.stored_app_configs:
    5.             warnings.warn(self.APPS_NOT_READY_WARNING_MSG, category=RuntimeWarning)
    6.         self.db.validate_no_broken_transaction()
    1.         with self.db.wrap_database_errors:
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.             if params is None:
    2.                 # params default might be backend specific.
    3.                 return self.cursor.execute(sql)
    4.             else:
    5.                 return self.cursor.execute(sql, params)
    Local vars
    Variable Value
    ignored_wrapper_args
    (False,
     {'connection': <DatabaseWrapper vendor='postgresql' alias='default'>,
      'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x72d1fccd0770>})
    params
    (UUID('1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2'),)
    self
    <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x72d1fccd0770>
    sql
    ('SELECT "storage_filelinkbundle"."id", "storage_filelinkbundle"."entry_id", '
     '"storage_filelinkbundle"."share_url", '
     '"storage_filelinkbundle"."download_url", '
     '"storage_filelinkbundle"."expires_at", '
     '"storage_filelinkbundle"."created_at", "storage_filelinkbundle"."is_active" '
     'FROM "storage_filelinkbundle" WHERE "storage_filelinkbundle"."entry_id" = %s '
     'ORDER BY "storage_filelinkbundle"."created_at" DESC')
  • /var/www/development/backend/venv/lib/python3.12/site-packages/django/db/utils.py, line 91, in __exit__
    1.             db_exc_type = getattr(self.wrapper.Database, dj_exc_type.__name__)
    2.             if issubclass(exc_type, db_exc_type):
    3.                 dj_exc_value = dj_exc_type(*exc_value.args)
    4.                 # Only set the 'errors_occurred' flag for errors that may make
    5.                 # the connection unusable.
    6.                 if dj_exc_type not in (DataError, IntegrityError):
    7.                     self.wrapper.errors_occurred = True
    1.                 raise dj_exc_value.with_traceback(traceback) from exc_value
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.     def __call__(self, func):
    2.         # Note that we are intentionally not using @wraps here for performance
    3.         # reasons. Refs #21109.
    4.         def inner(*args, **kwargs):
    5.             with self:
    Local vars
    Variable Value
    db_exc_type
    <class 'psycopg.ProgrammingError'>
    dj_exc_type
    <class 'django.db.utils.ProgrammingError'>
    dj_exc_value
    ProgrammingError('relation "storage_filelinkbundle" does not exist\nLINE 1: ...ed_at", "storage_filelinkbundle"."is_active" FROM "storage_f...\n                                                             ^')
    exc_type
    <class 'psycopg.errors.UndefinedTable'>
    exc_value
    UndefinedTable('relation "storage_filelinkbundle" does not exist\nLINE 1: ...ed_at", "storage_filelinkbundle"."is_active" FROM "storage_f...\n                                                             ^')
    self
    <django.db.utils.DatabaseErrorWrapper object at 0x72d1ffa16d80>
    traceback
    <traceback object at 0x72d1fcc97400>
  • /var/www/development/backend/venv/lib/python3.12/site-packages/django/db/backends/utils.py, line 105, in _execute
    1.             warnings.warn(self.APPS_NOT_READY_WARNING_MSG, category=RuntimeWarning)
    2.         self.db.validate_no_broken_transaction()
    3.         with self.db.wrap_database_errors:
    4.             if params is None:
    5.                 # params default might be backend specific.
    6.                 return self.cursor.execute(sql)
    7.             else:
    1.                 return self.cursor.execute(sql, params)
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.     def _executemany(self, sql, param_list, *ignored_wrapper_args):
    2.         # Raise a warning during app initialization (stored_app_configs is only
    3.         # ever set during testing).
    4.         if not apps.ready and not apps.stored_app_configs:
    5.             warnings.warn(self.APPS_NOT_READY_WARNING_MSG, category=RuntimeWarning)
    Local vars
    Variable Value
    ignored_wrapper_args
    (False,
     {'connection': <DatabaseWrapper vendor='postgresql' alias='default'>,
      'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x72d1fccd0770>})
    params
    (UUID('1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2'),)
    self
    <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x72d1fccd0770>
    sql
    ('SELECT "storage_filelinkbundle"."id", "storage_filelinkbundle"."entry_id", '
     '"storage_filelinkbundle"."share_url", '
     '"storage_filelinkbundle"."download_url", '
     '"storage_filelinkbundle"."expires_at", '
     '"storage_filelinkbundle"."created_at", "storage_filelinkbundle"."is_active" '
     'FROM "storage_filelinkbundle" WHERE "storage_filelinkbundle"."entry_id" = %s '
     'ORDER BY "storage_filelinkbundle"."created_at" DESC')
  • /var/www/development/backend/venv/lib/python3.12/site-packages/psycopg/cursor.py, line 117, in execute
    1.         """
    2.         try:
    3.             with self._conn.lock:
    4.                 self._conn.wait(
    5.                     self._execute_gen(query, params, prepare=prepare, binary=binary)
    6.                 )
    7.         except e._NO_TRACEBACK as ex:
    1.             raise ex.with_traceback(None)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    1.         return self
    2.     def executemany(
    3.         self, query: Query, params_seq: Iterable[Params], *, returning: bool = False
    4.     ) -> None:
    5.         """
    Local vars
    Variable Value
    binary
    None
    params
    (UUID('1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2'),)
    prepare
    None
    query
    ('SELECT "storage_filelinkbundle"."id", "storage_filelinkbundle"."entry_id", '
     '"storage_filelinkbundle"."share_url", '
     '"storage_filelinkbundle"."download_url", '
     '"storage_filelinkbundle"."expires_at", '
     '"storage_filelinkbundle"."created_at", "storage_filelinkbundle"."is_active" '
     'FROM "storage_filelinkbundle" WHERE "storage_filelinkbundle"."entry_id" = %s '
     'ORDER BY "storage_filelinkbundle"."created_at" DESC')
    self
    <django.db.backends.postgresql.base.Cursor [closed] [IDLE] (host=localhost user=rpuser4net database=netnestdb7) at 0x72d1fcc14e90>


Request information

USER

Parsa

GET

No GET data

POST

No POST data

FILES

No FILES data

Variable Value
csrftoken
'********************'

META

Variable Value
CSRF_COOKIE
'HJWosw9NdaEdbKoabTfcj2vacSGaAvc9'
HTTP_ACCEPT
'*/*'
HTTP_ACCEPT_ENCODING
'gzip, deflate, br, zstd'
HTTP_ACCEPT_LANGUAGE
'en-US,en;q=0.9'
HTTP_AUTHORIZATION
'********************'
HTTP_CONNECTION
'close'
HTTP_COOKIE
'********************'
HTTP_HOST
'netnest.org'
HTTP_PRIORITY
'u=0'
HTTP_REFERER
'https://netnest.org/api/schema/swagger-ui/'
HTTP_SEC_FETCH_DEST
'empty'
HTTP_SEC_FETCH_MODE
'cors'
HTTP_SEC_FETCH_SITE
'same-origin'
HTTP_USER_AGENT
('Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:149.0) Gecko/20100101 '
 'Firefox/149.0')
HTTP_X_FORWARDED_FOR
'217.218.37.40'
HTTP_X_FORWARDED_PROTO
'https'
HTTP_X_REAL_IP
'217.218.37.40'
PATH_INFO
'/api/storage/files/1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2/link-bundles/'
QUERY_STRING
''
RAW_URI
'/api/storage/files/1f0e70b4-4cbf-41f0-a08e-a5d54f8912d2/link-bundles/'
REMOTE_ADDR
'127.0.0.1'
REMOTE_PORT
'39310'
REQUEST_METHOD
'GET'
SCRIPT_NAME
''
SERVER_NAME
'127.0.0.1'
SERVER_PORT
'8001'
SERVER_PROTOCOL
'HTTP/1.0'
SERVER_SOFTWARE
'gunicorn/23.0.0'
gunicorn.socket
<socket.socket fd=11, family=2, type=1, proto=0, laddr=('127.0.0.1', 8001), raddr=('127.0.0.1', 39310)>
wsgi.errors
<gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x72d1fccd26e0>
wsgi.file_wrapper
<class 'gunicorn.http.wsgi.FileWrapper'>
wsgi.input
<gunicorn.http.body.Body object at 0x72d1fccd18b0>
wsgi.input_terminated
True
wsgi.multiprocess
True
wsgi.multithread
True
wsgi.run_once
False
wsgi.url_scheme
'https'
wsgi.version
(1, 0)

Settings

Using settings module filemanager.settings

Setting Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
[]
ALLOWED_HOSTS
['*']
ALLOWED_HOSTS_ENV
'*'
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
'********************'
AUTH_PASSWORD_VALIDATORS
'********************'
AUTH_USER_MODEL
'********************'
BACKEND_BASE_URL
'https://netnest.org'
BALE_API_KEY
'********************'
BALE_BOT_ID
1569399072
BASE_DIR
PosixPath('/var/www/development/backend')
BILLING_DEFAULT_PLAN_SLUG
'Free'
BILLING_PURGE_HANDLER
'storage.services.purge.purge_user_files'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS
'default'
CACHE_MIDDLEWARE_KEY_PREFIX
'********************'
CACHE_MIDDLEWARE_SECONDS
600
CELERY_ACCEPT_CONTENT
['json']
CELERY_BEAT_SCHEDULE
{'billing-enforce-expiry-and-purge-daily': {'schedule': <crontab: 0 3 * * * (m/h/dM/MY/d)>,
                                            'task': 'billing.tasks.enforce_subscription_expiry_and_purge'}}
CELERY_BROKER_URL
'redis://127.0.0.1:6379/0'
CELERY_RESULT_BACKEND
'redis://127.0.0.1:6379/1'
CELERY_RESULT_SERIALIZER
'json'
CELERY_TASK_SERIALIZER
'json'
CELERY_TIMEZONE
'UTC'
CERTBOT_EMAIL
'admin@netnest.org'
CORS_ALLOW_ALL_ORIGINS
True
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
True
CSRF_FAILURE_VIEW
'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME
'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS
[]
CSRF_USE_SESSIONS
False
CUSTOM_DOMAIN_CERTBOT_EMAIL
'admin@netnest.org'
CUSTOM_DOMAIN_NGINX_BIN
'/usr/sbin/nginx'
CUSTOM_DOMAIN_NGINX_DIR
'/etc/nginx/conf.d'
CUSTOM_DOMAIN_NGINX_NAME
'custom_domains.conf'
CUSTOM_DOMAIN_NGINX_RELOAD_CMD
['/usr/bin/systemctl', 'reload', 'nginx']
CUSTOM_DOMAIN_NGINX_TEST_CMD
['/usr/sbin/nginx', '-t']
CUSTOM_DOMAIN_PROVISION_SYNC
True
DATABASES
{'default': {'ATOMIC_REQUESTS': False,
             'AUTOCOMMIT': True,
             'CONN_HEALTH_CHECKS': False,
             'CONN_MAX_AGE': 0,
             'ENGINE': 'django.db.backends.postgresql',
             'HOST': 'localhost',
             'NAME': 'netnestdb7',
             'OPTIONS': {},
             'PASSWORD': '********************',
             'PORT': '5432',
             'TEST': {'CHARSET': None,
                      'COLLATION': None,
                      'MIGRATE': True,
                      'MIRROR': None,
                      'NAME': None},
             'TIME_ZONE': None,
             'USER': 'rpuser4net'}}
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
'info@netnest.org'
DEFAULT_INDEX_TABLESPACE
''
DEFAULT_TABLESPACE
''
DISALLOWED_USER_AGENTS
[]
EMAIL_BACKEND
'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST
'smtp.c1.liara.email'
EMAIL_HOST_PASSWORD
'********************'
EMAIL_HOST_USER
'sweet_payne_qqpbhs'
EMAIL_PORT
587
EMAIL_SSL_CERTFILE
None
EMAIL_SSL_KEYFILE
'********************'
EMAIL_SUBJECT_PREFIX
'[Django] '
EMAIL_TIMEOUT
15
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'
FRONTEND_BASE_URL
'https://netnest.org'
IGNORABLE_404_URLS
[]
INSTALLED_APPS
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django_filters',
 'rest_framework',
 'corsheaders',
 'drf_spectacular',
 'rest_framework_simplejwt',
 'rest_framework_simplejwt.token_blacklist',
 'accounts',
 'storage',
 'api',
 'tickets',
 'billing',
 'ftp',
 'admin_api',
 'notes',
 'logs']
INTERNAL_IPS
[]
KAVENEGAR_API_KEY
'********************'
KAVENEGAR_TEMPLATE_SIGNUP
None
KAVENEGAR_VERIFY_TAG
''
KAVENEGAR_VERIFY_TYPE
'sms'
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
'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
{'handlers': {'file': {'class': 'logging.FileHandler',
                       'filename': '/var/log/netnest/django.log',
                       'level': 'ERROR'}},
 'root': {'handlers': ['file'], 'level': 'ERROR'},
 'version': 1}
LOGGING_CONFIG
'logging.config.dictConfig'
LOGIN_REDIRECT_URL
'/accounts/profile/'
LOGIN_URL
'/accounts/login/'
LOGOUT_REDIRECT_URL
None
MANAGERS
[]
MEDIA_ROOT
PosixPath('/var/www/development/backend/media')
MEDIA_URL
'/media/'
MESSAGE_STORAGE
'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE
['corsheaders.middleware.CorsMiddleware',
 'django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'storage.middleware.AllowedHostsFromDBMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'accounts.middleware.UpdateLastSeenMiddleware']
MIGRATION_MODULES
{}
MONTH_DAY_FORMAT
'F j'
NETNEST_PRIMARY_HOSTS
['netnest.org', 'www.netnest.org', 'localhost', '127.0.0.1']
NUMBER_GROUPING
0
OTP_CODE_LENGTH
6
OTP_EXPIRE_MINUTES
5
PASSWORD_HASHERS
'********************'
PASSWORD_RESET_TIMEOUT
'********************'
PREPEND_WWW
False
PUBLIC_SCHEME
'https'
PUBLIC_SITE_DOMAIN
'netnest.org'
REST_FRAMEWORK
{'DEFAULT_AUTHENTICATION_CLASSES': '********************',
 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',),
 'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema',
 'DEFAULT_THROTTLE_CLASSES': ['rest_framework.throttling.AnonRateThrottle',
                              'rest_framework.throttling.UserRateThrottle'],
 'DEFAULT_THROTTLE_RATES': {'anon': '30/min',
                            'sftp_sync_now': '6/min',
                            'user': '120/min'},
 'EXCEPTION_HANDLER': 'filemanager.exception_handler.custom_exception_handler'}
ROOT_URLCONF
'filemanager.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
('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
'filemanager.settings'
SHORT_DATETIME_FORMAT
'm/d/Y P'
SHORT_DATE_FORMAT
'm/d/Y'
SIGNING_BACKEND
'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
SIMPLE_JWT
{'ACCESS_TOKEN_LIFETIME': '********************',
 'AUTH_HEADER_TYPES': '********************',
 'BLACKLIST_AFTER_ROTATION': True,
 'REFRESH_TOKEN_LIFETIME': '********************',
 'ROTATE_REFRESH_TOKENS': '********************'}
SMSIR_API_KEY
'********************'
SMSIR_ENABLE_NOTIFICATIONS
True
SMSIR_OTP_PARAM_NAME
'TOKEN'
SMSIR_TEMPLATE_ID_LOGIN
'967388'
SMSIR_TEMPLATE_ID_RESET
'967388'
SMSIR_TEMPLATE_ID_SIGNUP
'967388'
SMSIR_TEMPLATE_ID_TICKET_UPDATE_ADMIN
724011
SMSIR_TEMPLATE_ID_USER_ALERT
310159
SMSIR_TEMPLATE_ID_VERIFY_PHONE
''
SMSIR_TICKET_PARAM_NAME
'SHOMARETICKET'
SMSIR_USER_PARAM_NAME
'NAME'
STATICFILES_DIRS
[]
STATICFILES_FINDERS
['django.contrib.staticfiles.finders.FileSystemFinder',
 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATIC_ROOT
PosixPath('/var/www/development/backend/staticfiles')
STATIC_URL
'/static/'
STORAGES
{'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'},
 'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}}
STORAGE_VIRUS_SCAN_ENABLED
False
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']}}]
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_THOUSAND_SEPARATOR
False
USE_TZ
True
USE_X_FORWARDED_HOST
True
USE_X_FORWARDED_PORT
False
WSGI_APPLICATION
'filemanager.wsgi.application'
X_FRAME_OPTIONS
'DENY'
YEAR_MONTH_FORMAT
'F Y'
ZARINPAL_MERCHANT_ID
'd146b535-d2e6-43b1-9b0a-30c3d55138f1'