Trong phần này chúng ta sẽ tìm hiểu về hệ thống Admin có sẵn trong Django.
Thường thì khi viết một ứng dụng nào đó, chẳng hạn như website bán hàng, blog, web tin tức, diễn đàn…v.v. ngoài các trang hiển thị thông tin thì chúng ta còn phải xây dựng một trang nữa là trang admin, trong đó lại bao gồm nhiều trang nhỏ hơn như thêm, sửa, xóa bài viết, cài đặt trang web… việc làm các trang này khá đơn giản, không cầu kỳ nhưng cũng rất nhàm chán. Chính vì vậy Django cung cấp sẵn một trang admin cho riêng chúng ta.
Tạo user
Để có thể đăng nhập vào admin thì trước hết chúng ta phải tạo một tài khoản admin đã vì Django không tạo sẵn cho chúng ta khi tạo project.
C:\Project\mysite>python manage.py createsuperuser
Để tạo tài khoản thì chúng ta chạy file manage.py
với tham số createsuperuser
.
Username: admin Email address: admin@example.com Password: Password (again): Superuser created successfully.
Tiếp theo bạn cung cấp username, password và email là xong.
Truy cập trang admin
Để truy cập vào trang admin thì bạn chỉ cần thêm /admin vào đường dẫn trang chủ là được.
Sau đó bạn đăng nhập bằng username và password mà chúng ta đã tạo hồi nãy là sẽ được chuyển đến giao diện admin.
Mặc định Django đã bật chức năng dịch nên có thể trang admin sẽ được hiển thị bằng ngôn ngữ mà bạn dùng trên trình duyệt.
Tại trang admin chúng ta có thể thao tác với 2 bảng là User và Group. Các bảng Question và Choice mà chúng ta đã tạo ra không được hiển thị ở đây là vì chúng ta chưa đăng ký các bảng đó với trang admin.
from django.contrib import admin
# Register your models here.
from .models import Question, Choice
admin.site.register(Question)
admin.site.register(Choice)
Để đăng ký các bảng (hay các mô hình) với admin thì chúng ta chỉ cần dùng phương thức admin.site.register()
trong file admin.py
mà Django đã tạo cho chúng ta.
Sau khi đã đăng kí xong thì 2 bảng Question
và Choice
sẽ hiện ra trong giao diện admin.
Giao diện admin mặc định của Django rất đơn giản, bạn có thể thực hiện thêm, sửa, xóa các bảng này một cách dễ dàng.