Đây là một câu hỏi khá hay. Trước hết tôi cũng xin giới thiệu lại là 1 trong những yếu tố hấp dẫn của Django là phần admin. Nếu làm chủ được nó, bạn sẽ tăng tốc độ phát triển phần mềm lên đáng kể.
Cách customize giao diện admin
Django admin cho phép chúng ta override giao diện mặc định, bạn có thể thừa kế và viết thêm các ý tưởng. Mời xem thực tế ở đây:
https://github.com/django-cms/django-filer/tree/master/filer/templates/admin/filer
https://docs.djangoproject.com/en/3.1/ref/contrib/admin/#overriding-admin-templates
Về permissions
Thực tế thì khi làm việc trong django admin templates nó không khác mấy template bình thường, bạn có thể dùng các phương thức check perms cơ bản của django theo link bên dưới.
https://docs.djangoproject.com/en/3.1/topics/auth/default/#permissions
Thực ra, django generate sẵn các phần dựa theo models bạn thiết kế là cái hết sức cơ bản. Trong các dự án lớn cần customize rất nhiều thứ mới có thể meet được yêu cầu của khách hàng.
Chúc bạn thành công!