Rather than customizing the Django interface which will take a lot of time and effort, you can build your own admin interface from scratch using React as the frontend which will take less time, here are the articles which states, why is this not a good practice for customizing the Django-admin:
Understanding the Django admin - Using Django / The Admin - Django Forum (djangoproject.com)
Django Custom Admin Panel - Using Django / Getting Started - Django Forum (djangoproject.com)
Latest update - you can try using jazzmin for making admin panel more robust:
Jazzmin (django-jazzmin.readthedocs.io)