Mục lục

Không có mục lục

Cách bật và kết nối giao diện quản trị Django

Ngày đăng: 5 tháng 9 năm 2023

Giới thiệu

Nếu bạn đã theo dõi loạt bài Phát triển Django, thì bạn đã bắt đầu một ứng dụng Django, kết nối ứng dụng của bạn với MySQL và tạo các mô hình cơ sở dữ liệu cho dữ liệu PostsComments trong ứng dụng web blog của bạn.

Trong hướng dẫn này, chúng tôi sẽ kết nối và kích hoạt trang quản trị Django để bạn có thể quản lý trang blog của mình. Trang web quản trị Django được xây dựng sẵn với giao diện người dùng được thiết kế để cho phép bạn và những cá nhân đáng tin cậy khác quản lý nội dung cho trang web.

Điều đáng chú ý là tài liệu chính thức của Django chỉ ra rằng mặc dù điều này lý tưởng cho mục đích sử dụng nội bộ của tổ chức, nhưng không nên xây dựng ứng dụng web xung quanh giao diện quản trị Django được tạo tự động. Nếu bạn thấy rằng giao diện của mình cần tập trung vào quy trình hơn hoặc chứng tỏ trừu tượng hóa các chi tiết triển khai của các bảng và trường cơ sở dữ liệu, thì tốt nhất là bạn nên viết các quan điểm của riêng mình cho phía quản trị viên.

Điều kiện tiên quyết

Hướng dẫn này là một phần của loạt bài Phát triển Django và là phần tiếp theo của loạt bài đó.

Nếu bạn chưa theo dõi loạt bài này, chúng tôi đang đưa ra các giả định sau:

  • Bạn đã cài đặt Django phiên bản 4 trở lên.
  • Bạn đã kết nối ứng dụng Django của mình với cơ sở dữ liệu. Chúng tôi đang sử dụng MySQL và bạn có thể đạt được kết nối này bằng cách làm theo phần hai của loạt bài về Django, “Cách tạo ứng dụng Django và kết nối nó với cơ sở dữ liệu”.
  • Bạn đang làm việc với hệ điều hành dựa trên Unix, tốt nhất là máy chủ đám mây Ubuntu 22.04 vì đây là hệ thống chúng tôi đã thử nghiệm. Nếu bạn muốn thiết lập Django trên một môi trường tương tự, vui lòng tham khảo hướng dẫn của chúng tôi, “Cách cài đặt Django và thiết lập môi trường phát triển trên Ubuntu 22.04".

Vì hướng dẫn này chủ yếu xử lý Giao diện quản trị Django, bạn có thể làm theo ngay cả khi bạn có một thiết lập hơi khác.

Bước 1 — Bật Admin

Bất cứ khi nào chúng ta bắt đầu làm việc với Python và Django, chúng ta nên kích hoạt môi trường ảo Python của mình và chuyển vào thư mục gốc của ứng dụng. Nếu bạn đã theo dõi loạt bài này, bạn có thể đạt được điều này bằng cách nhập nội dung sau.

  1. cd ~/my_blog_app
  2. . env/bin/activate

Để bật Django Admin, chúng tôi cần đảm bảo rằng ứng dụng của chúng tôi nằm trong danh sách INSTALLED_APPS trong tệp settings.py.

Điều hướng đến thư mục của tệp cài đặt:

  1. cd ~/my_blog_app/blog/blog/

Từ đây, hãy mở tệp settings.py. Nếu chưa có, hãy thêm django.contrib.admin vào danh sách INSTALLED_APPS, sử dụng trình soạn thảo văn bản như nano.

  1. nano settings.py

Phần INSTALLED_APPS của tệp phải giống với tệp bên dưới. Ứng dụng của chúng tôi trong danh sách là ứng dụng ở trên cùng, 'blogsite', nhưng nếu bạn đã tạo một ứng dụng có tên khác, hãy đảm bảo rằng ứng dụng đó được liệt kê trong tệp này như minh họa.

settings.py
...
# Application definition
INSTALLED_APPS = [
    'blogsite',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
...

Đảm bảo lưu và đóng tệp nếu bạn thực hiện thay đổi. Trong nano, bạn có thể thực hiện việc này bằng cách nhập CTRLX rồi Y rồi ENTER.

Bây giờ chúng ta có thể mở lại tệp urls.py bằng nano hoặc trình soạn thảo văn bản khác.

  1. nano urls.py

Trong phần nhận xét ở trên cùng, tệp sẽ giống như sau.

urls.py
…
"""
from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
]

Nếu tệp khác với tệp ở trên, hãy sao chép và dán các dòng ở trên vào tệp urls.py của bạn.

Bây giờ chúng tôi đã đảm bảo rằng dự án web Django của chúng tôi có mã thích hợp trong các tệp settings.pyurls.py, chúng tôi biết rằng ứng dụng của chúng tôi sẽ có quyền truy cập vào các mô hình quản trị và giao diện người dùng quản trị.

Bước 2 — Xác minh rằng Admin là Ứng dụng đã cài đặt

Tiếp theo, chúng ta nên di chuyển các mô hình sang cơ sở dữ liệu để nó chọn các mô hình Admin mới được thêm vào.

Điều hướng đến thư mục chứa tệp manage.py.

  1. cd ~/my_blog_app/blog

Hãy nhớ chạy lệnh migrate bất cứ khi nào bạn thực hiện bất kỳ thay đổi nào đối với models, như vậy.

  1. python manage.py migrate

Nếu chúng tôi không thực hiện bất kỳ thay đổi nào đối với các tệp ở trên, chúng tôi sẽ nhận được đầu ra tương tự như sau khi chạy lệnh migrate.

Output
Operations to perform: Apply all migrations: admin, auth, blogsite, contenttypes, sessions Running migrations: No migrations to apply.

Mặt khác, đầu ra sẽ chỉ ra rằng Django đã thực hiện các chuyển đổi cần thiết để hỗ trợ ứng dụng của chúng tôi.

Bây giờ chúng ta có thể khởi động máy chủ bằng cách chạy lệnh sau. Bạn có thể thay thế 0.0.0.0 bằng địa chỉ IP của mình.

  1. python manage.py runserver 0.0.0.0:8000

Sau đó điều hướng đến URL của bảng quản trị trong trình duyệt bạn chọn. Đảm bảo nhập địa chỉ IP của máy chủ của bạn.

http://your-server-ip:8000/admin/

Bạn sẽ nhận được một màn hình đăng nhập tương tự như thế này.

description image

Đến màn hình này cho chúng tôi biết rằng chúng tôi đã bật thành công ứng dụng quản trị.

Mặc dù chúng tôi đã bật ứng dụng nhưng có thể chúng tôi chưa thiết lập tài khoản quản trị Django. Chúng ta có thể tạo tài khoản quản trị để đăng nhập ở bước tiếp theo.

Bước 3 — Tạo tài khoản siêu người dùng quản trị (Admin Super-User Account)

Nếu bạn đã thiết lập tài khoản quản trị và có thể đăng nhập vào trang quản trị của mình, bạn có thể bỏ qua bước này.

Mở một thiết bị đầu cuối mới để kết nối với máy chủ hoặc tắt ứng dụng Django bằng cách nhấn CTRLC để chúng tôi có thể làm việc trên môi trường lập trình của thiết bị đầu cuối máy chủ của mình.

Django cho phép bạn tạo tài khoản siêu người dùng (super-user), chúng ta có thể thực hiện việc này bằng cách chạy tệp manage.py để bắt đầu quá trình tạo siêu người dùng.

  1. python manage.py createsuperuser

Khi chúng tôi làm như vậy, chúng tôi sẽ được nhắc điền thông tin chi tiết về tên người dùng, email và mật khẩu của chúng tôi. Trong hướng dẫn này, chúng tôi sẽ tạo một tài khoản quản trị viên với tên người dùng admin_user, email sammy@example.com và mật khẩu admin123. Bạn nên điền thông tin này theo sở thích của riêng mình và đảm bảo sử dụng mật khẩu an toàn mà bạn sẽ nhớ.

Output
Username (leave blank to use 'root'): admin_user Email address: sammy@example.com

Sau đó nhập mật khẩu của bạn hai lần khi bạn thấy dấu nhắc Password:. Bạn sẽ không nhận được kết quả từ các lần nhấn phím của mật khẩu khi nhập. Nhấn enter sau mỗi lời nhắc để xác nhận mật khẩu của bạn.

Output
Password: Password (again):

Tại thời điểm này, chúng tôi hiện có tài khoản quản trị viên với tên người dùng admin_user và mật khẩu admin123.

Hãy đăng nhập và điều tra những gì tồn tại trên trang quản trị của chúng tôi.

Nếu cần, hãy chạy lại ứng dụng Django với python manage.py runserver 0.0.0.0:8000 rồi điều hướng một lần nữa tới URL http://your-server-ip:8000/admin/ để truy cập trang đăng nhập quản trị viên. Sau đó đăng nhập bằng tên người dùng và mật khẩu bạn vừa tạo.

Sau khi đăng nhập thành công, bạn sẽ nhận được trang sau.

description image

Tiếp theo, chúng ta sẽ cần làm việc để kết nối ứng dụng blog của mình với bảng quản trị.

Bước 4 - Tạo mẫu URL cho Post và Comment

Ở bước trước, chúng tôi đã đăng nhập thành công vào giao diện quản trị, nhưng bạn có thể nhận thấy rằng ứng dụng blog của chúng tôi chưa khả dụng ở đó. Để điền vào giao diện quản trị của chúng tôi với ứng dụng blog, chúng tôi cần thêm và đăng ký nó với các mô hình được liên kết PostComment.

Để làm điều này, chúng tôi sẽ tạo một tệp trống có tên urls.py, trong thư mục blogsite, như sau:

  1. touch ~/my_blog_app/blog/blogsite/urls.py

Trong tệp này, chúng tôi sẽ thêm mẫu URL cho ứng dụng blog của chúng tôi để chúng tôi có thể truy cập nó qua giao diện quản trị.

Điều hướng đến vị trí của tệp urls.py mà chúng tôi vừa tạo.

  1. cd ~/my_blog_app/blog/blogsite/

Sau đó, mở tệp bằng nano chẳng hạn.

  1. nano urls.py

Thêm các dòng mã sau vào tệp.

urls.py
from django.urls import path
from . import views
urlpatterns = [
    path('$/', views.posts, name='posts'),
    path('$/', views.comments, name='comments'),
]

Đây là các biểu thức mẫu URL cần thiết để cho phép ứng dụng của chúng tôi truy cập chế độ views cho PostsComments. Chúng tôi chưa tạo các chế độ views đó, nhưng sẽ đề cập đến vấn đề này sau trong loạt bài này.

Bước 5 — Kết nối Ứng dụng Blog với Admin

Kết nối blog của chúng tôi với giao diện quản trị sẽ cho phép chúng tôi xem các liên kết cho cả PostsComments bên trong bảng điều khiển quản trị. Ngay bây giờ, bảng điều khiển hiện tại chỉ hiển thị các liên kết cho GroupsUsers.

Để kết nối cả hai với nhau, chúng ta cần đăng ký các mô hình PostsComments bên trong tệp quản trị của blogsite.

Điều hướng đến thư mục blogsite:

  1. cd ~/my_blog_app/blog/blogsite

Sau đó, mở tệp admin.py trong trình soạn thảo văn bản bạn chọn.

  1. nano admin.py

Tệp sẽ được điền bằng một câu lệnh nhập và một nhận xét.

admin.py
from django.contrib import admin

# Register your models here.

Bạn nên chỉnh sửa tệp để nó chứa mã sau nhằm hỗ trợ ứng dụng của chúng tôi.

admin.py
from django.contrib import admin
from blogsite.models import Post
from blogsite.models import Comment


admin.site.register(Post)
admin.site.register(Comment)

Khi bạn hài lòng với tệp, hãy lưu và thoát.

Bây giờ bạn đã đăng ký các mô hình PostComment bên trong bảng quản trị. Điều này sẽ cho phép giao diện quản trị chọn các mô hình này và hiển thị chúng cho người dùng đã đăng nhập và xem bảng điều khiển quản trị.

Bước 6 - Xác minh rằng Ứng dụng Blog đã được thêm vào Admin

Bây giờ bạn đã thêm mã Python có liên quan, hãy chạy máy chủ. Mở http://your-server-ip:8000/admin và đăng nhập vào quản trị viên bằng thông tin đăng nhập của bạn nếu bạn chưa đăng nhập. Trong hướng dẫn này, chúng tôi đã đăng nhập bằng tên người dùng admin_user và mật khẩu admin123.

Bây giờ bạn đã đăng nhập, bạn sẽ được phục vụ trang web sau. Nếu nó không thay đổi so với trước đó, bạn có thể cần làm mới trình duyệt của mình.

description image

Điều này xác minh rằng chúng tôi hiện đã kết nối ứng dụng, blogsite của mình với bảng điều khiển quản trị Django.

Khi bạn hoàn tất kiểm tra ứng dụng của mình, bạn có thể nhấn CTRL + C để ngừng chạy máy chủ Django. Thao tác này sẽ đưa bạn trở lại môi trường lập trình của mình.

Khi bạn đã sẵn sàng rời khỏi môi trường Python của mình, bạn có thể chạy lệnh deactivate:

  1. deactivate

Việc hủy kích hoạt môi trường lập trình của bạn sẽ đưa bạn trở lại dấu nhắc lệnh đầu cuối.

Kết luận

Trong hướng dẫn này, bạn đã kích hoạt thành công giao diện quản trị viên, tạo đăng nhập quản trị viên và đăng ký các mô hình PostComment với quản trị viên.

Giao diện quản trị Django là cách bạn có thể tạo bài đăng và theo dõi nhận xét với blog của mình.

0 câu trả lời