Hệ thống Admin trong Python Django

Lập trình web với Python bằng Django

5.0 (2 đánh giá)
Tạo bởi Kteam Cập nhật lần cuối 3 năm trước 46.471 lượt xem 6 bình luận
Tác giả/Dịch giả: Kteam
Học nhanh

Danh sách bài học

Hệ thống Admin trong Python Django

Ghi chú

Nội dung bài viết bạn đang xem được update từ tháng 06/2019. Vì vậy sẽ có đôi chút khác biệt giữ VIDEO và NỘI DUNG BÀI VIẾT.

Chúng ta sẽ có nhiều cập nhập hơn về cả bài viết lẫn video trong thời gian tới. Nhớ like/ share hoặc đánh giá 5 sao để Kteam có động lực nhé! 

Cảm ơn các bạn! 


Dẫn nhập

Trong bài này Kteam sẽ nói cho các bạn về hệ thống Admin được hỗ trợ trong Framework Django.


Nội dung

Để theo dõi bài này tốt nhất, bạn nên xem qua bài:

Bài này sẽ giới thiệu những nội dung sau:

  • Giới thiệu hệ thống Admin
  • Tạo tài khoản admin để truy cập hệ thống Admin
  • Cách đưa Model vào Admin quản lý
  • Cách tuỳ biến Admin

Giới thiệu hệ thống Admin

Thường ở mỗi website, đặc biệt là web bán hàng, blog hay tin tức thì ta cần một hệ thống admin để quản lý những vấn đề như thêm sửa xoá dữ liệu. Công việc xây dựng admin khá là mất nhiều thời gian và gây ra sự nhàm chán. Ở trong Django đã cung cấp cho ta một hệ thống admin rất là tiện lợi mà ta không cần phải viết ra nó.


Tạo tài khoảm admin để truy cập hệ thống Admin

Bây giờ Kteam sẽ tạo một tài khoản admin để truy cập vào hệ thống, ta sẽ mở terminal vào gõ lệnh:

Sau khi nhập lệnh, hệ thống yêu cầu thông tin tài khoản admin, bạn hay nhập username, email password để khởi tạo:


 

Bây giờ mình bật server lên và vào đường dẫn /admin và dùng tài khoản vừa tạo để đăng nhập:

 
Sau khi đăng nhập thành công, Admin mặc định sẽ quản lý 2 bảng là User (bảng lưu các user trong hệ thống), và bảng Group nhằm tạo các nhóm trong user với những quyền có thể thực thi trong hệ thống.


Cách đưa Model vào cho Admin quản lý

Bây giờ Kteam muốn hệ thống Admin có thể quản lý model Post từ bài trước. Đầu tiên là vào file admin.py trong app blog. Import model Post qua và register vào bằng dòng code dưới đây.

Bây giờ ta reload trang admin thì sẽ hiển thị ra:

 Vào trong Post ta sẽ thấy 2 bài viết mà ta đã tạo trước đó:


Cách tuỳ biến Admin

Django có thể hỗ trợ cho ta tuỳ biến hệ thống Admin. Như ở phần quản lý Post hiện tại thì chỉ mới hiển thị tiêu đề của Post, giờ Kteam muốn bảng đó hiện thị tiêu đề và ngày viết bài thì làm như sau:

Đầu tiên là phải tạo 1 class PostAdmin kế thừa class admin.ModelAdmin, khởi tạo biến list_display kiểu list chứa 2 string title date tương ứng 2 field của bảng Post. Sau đó đưa PostAdmin vào tham số register cùng với Post:

Giờ ta lại kết quả:

Tiếp theo, Kteam muốn tạo filter để lọc bài viết, Kteam sẽ lọc bài viết theo ngày viết bài thì tạo thêm một list là  list_filter chứa giá trị date tương ứng field của bảng Post:

Ta sẽ thấy bên phải có thêm một bảng filter lọc theo ngày, tuần, tháng và năm

Cuối cùng, Kteam muốn tạo một thanh search để dễ dàng tìm kiếm bài viết, Kteam muốn tìm kiếm bài viết dựa vào tiêu đề của bài thì thêm một biến search_fields chứa giá trị title:

Bây giờ ta hãy thử nhập tiêu đề để thử tìm kiếm:


Kết

Như vậy Kteam đã hướng dẫn các bạn xong cách sử dụng hệ thống Admin trong Python Django.

Ở bài tiếp theo, Kteam sẽ giới thiệu cho các bạn LIỆT KÊ DANH SÁCH BÀI VIẾT TRONG PYTHON DJANGO.

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.


Tải xuống

Tài liệu

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Hệ thống Admin trong Python Django dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên likeshare để ủng hộ Kteam và tác giả nhé!


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Tác giả/Dịch giả

Khóa học

Lập trình web với Python bằng Django

Lập trình web với Python bằng Django

Đánh giá

5.0
2 đánh giá
Đánh giá
5
2
4
3
2
1
laRoi17 đã đánh giá 2 năm trước

trieuanhl đã đánh giá 4 năm trước

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
laptrinh1986 đã bình luận 4 năm trước

xin hỏi trong setting.py và urls.py có cần thay đổi gì không , mình không thể login theo đường dẫn 127.0.0.1:8000/admin vì nó báo đường dẫn không tồn tại :((

laptrinh1986 đã bình luận 4 năm trước

xin hỏi trong setting.py và urls.py có cần thay đổi gì không , mình không thể login theo đường dẫn 127.0.0.1:8000/admin vì nó báo đường dẫn không tồn tại :((

thanhthanhsel đã bình luận 5 năm trước
Ad cho em hỏi sao khi em gõ vào web: localhost:8000/admin xuất hiện lỗi này và cách sửa lỗi:
A server error occurred.  Please contact the administrator.
Không có video.