В Production Django staticfiles не работает на том же сервере

Я устал применять различные методы в django, но он не обслуживает staticfiles из папки static

я следовал официальному способу обслуживания статического файла на том же сервере в продакшене, но когда мы устанавливаем DEBUG в False, он не работает

---> дерево каталогов проекта

.
├── chat
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   ├── __init__.py
│   │   └── __pycache__
│   │       └── __init__.cpython-38.pyc
│   ├── models.py
│   ├── __pycache__
│   │   ├── admin.cpython-38.pyc
│   │   ├── apps.cpython-38.pyc
│   │   ├── __init__.cpython-38.pyc
│   │   ├── models.cpython-38.pyc
│   │   ├── urls.cpython-38.pyc
│   │   └── views.cpython-38.pyc
│   ├── static  # folder for which i use 'python manage.py collectstatic' in production.
│   │   └── chat
│   │       ├── app.js
│   │       ├── images
│   │       │   └── chatbox-icon.svg
│   │       └── main.css
│   ├── templates
│   │   └── chat
│   │       ├── base.html
│   │       ├── home.html
│   │       ├── new_chat.html
│   │       └── user_info_add.html
│   ├── tests.py
│   ├── urls.py
│   └── views.py
├── chatbot
│   ├── asgi.py
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-38.pyc
│   │   ├── settings.cpython-38.pyc
│   │   ├── urls.cpython-38.pyc
│   │   └── wsgi.cpython-38.pyc
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── db.sqlite3
├── manage.py
└── users
    ├── admin.py
    ├── apps.py
    ├── __init__.py
    ├── migrations
    │   ├── __init__.py
    │   └── __pycache__
    │       └── __init__.cpython-38.pyc
    ├── models.py
    ├── __pycache__
    │   ├── admin.cpython-38.pyc
    │   ├── apps.cpython-38.pyc
    │   ├── __init__.cpython-38.pyc
    │   ├── models.cpython-38.pyc
    │   └── views.cpython-38.pyc
    ├── templates
    │   └── users
    │       └── register.html
    ├── tests.py
    └── views.py

17 directories, 47 files

----> settings.py

я установил Debbug=False и ниже необходимые настройки для статической папки

DEBUG = False

ALLOWED_HOSTS =['*']

INSTALLED_APPS = [
    'django.contrib.admin',
    'users.apps.UsersConfig',
    'chat.apps.ChatConfig',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'corsheaders'
]

# -----------AND STATIC FILES CONFIGURATION IS HERE----------

STATIC_ROOT = os.path.join(BASE_DIR,'static')
STATIC_URL = 'static/'
STATICFILES_DIRS = [
    BASE_DIR / "chat/static",
]

я запускаю этот 'python manage.py collectstatic' после чего все файлы попадают в папку STATIC_ROOT, которая является папкой static в корневом каталоге .

но после всего этого ничего не получается.

если DEBUG= True этот css работает, но если я сделаю Flase, то не будет

base.html

это основной html файл, в который импортируются все cdn, css и js файлы


<!doctype html>
{% load static %}
<html lang="en">
  <head>
  
  
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
     <link rel="stylesheet" type="text/css" href="{% static 'chat/main.css' %}">
     
    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <add key="webpages:Enabled" value="true" />
    <link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Poppins&display=swap" rel="stylesheet">

    <title>Chatbot</title>
    
  </head>
  
  
  
  <body>
    {% include "chat/home.html" %}
    {%  if messages  %}
        {% for message in massages %}
         <div class="alert alert-{{message.tags}}">{{message}}</div>
        {% endfor %}
    {% endif %}
    {% block  chatbot %} {% endblock chatbot %}


    
    <script type="text/javascript" src="{% static 'chat/app.js' %}"></script>
   
    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.12.9/dist/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
  </body>
</html>

вывод в браузере

выходной файл, когда DEBUG =False

прошу помочь, если кто-то может разобраться с этой проблемой.

Вернуться на верх