1. Django Unfold Là Gì?
Django Unfold là một package giúp nâng cấp giao diện Django Admin hiện đại hơn, đẹp hơn và responsive tốt hơn so với giao diện mặc định của Django.
Một số ưu điểm:
-
Giao diện hiện đại
-
Hỗ trợ dark mode
-
Responsive mobile
-
Sidebar đẹp
-
Dashboard dễ tùy biến
-
Tích hợp Tailwind UI
2. Cài Đặt Django Unfold
Mở terminal:
3. Thêm Unfold Vào INSTALLED_APPS
Mở file:
settings.py
Thêm vào đầu INSTALLED_APPS:
"unfold",
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
]
Lưu ý:
-
unfold phải nằm trước django.contrib.admin
-
Nếu đặt sai thứ tự CSS sẽ không hoạt động
4. Cấu Hình Static File
Trong settings.py thêm:
STATIC_URL = "static/"
STATICFILES_DIRS = [
BASE_DIR / "static",
]
STATIC_ROOT = BASE_DIR / "staticfiles"
Ý nghĩa:
|
Biến |
Chức năng |
|---|---|
|
STATIC_URL |
URL truy cập static |
|
STATICFILES_DIRS |
Thư mục static khi dev |
|
STATIC_ROOT |
Thư mục collect static khi deploy |
5. Chạy Collect Static
Sau khi cấu hình xong chạy:
Khi hỏi:
Type 'yes' to continue
Nhập:
Django sẽ copy toàn bộ CSS, JS, Font vào thư mục:
6. Chạy Server
Truy cập:
Bạn sẽ thấy giao diện admin mới của Django Unfold.
7. Nếu CSS Không Hiển Thị
Kiểm tra các lỗi phổ biến:
Sai thứ tự INSTALLED_APPS
Sai:
"unfold",
Đúng:
"django.contrib.admin",
Chưa collect static
Chạy lại:
DEBUG=False nhưng chưa cấu hình static
Nếu deploy production:
Cần cấu hình nginx/apache hoặc dùng whitenoise.
8. Cài WhiteNoise Để Serve Static
Cài package
Thêm middleware
"django.middleware.security.SecurityMiddleware",
"whitenoise.middleware.WhiteNoiseMiddleware",
]
9. Ví Dụ Full Settings Static
STATIC_URL = "static/"
STATICFILES_DIRS = [
BASE_DIR / "static",
]
STATIC_ROOT = BASE_DIR / "staticfiles"
STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage"
Chúc các bạn thành công