Thứ tư, 13/05/2020 | 00:00 GMT+7

Cách kích hoạt và kết nối giao diện quản trị Django

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

Trong hướng dẫn này, ta sẽ kết nối và kích hoạt trang quản trị Django để bạn có thể quản lý trang web blog của bạn . Trang web quản trị Django được xây dựng sẵn với giao diện user được thiết kế để cho phép bạn và các cá nhân 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 cho biết mặc dù điều này là lý tưởng cho việc 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 nhận thấy rằng giao diện của bạn cần tập trung vào quy trình hơn hoặc chứng minh là phải trừu tượng hóa các chi tiết triển khai của các bảng và trường database , 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 administrator .

Yêu cầu

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, ta sẽ đưa ra các giả định sau:

Vì hướng dẫn này chủ yếu liên quan đến Giao diện quản trị Django, bạn có thể làm theo ngay cả khi bạn có cài đặt hơi khác.

Bước 1 - Bật administrator

Khi nào ta bắt đầu làm việc bằng Python và Django, ta nên kích hoạt môi trường ảo Python của bạn và chuyển vào folder root 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 lệnh nội dung sau.

  • cd ~/my_blog_app
  • . env/bin/activate

Để kích hoạt Administrator Django, ta cần đảm bảo ứng dụng của ta thuộc danh sách INSTALLED_APPS trong file settings.py .

Điều hướng đến folder của file cài đặt:

  • cd ~/my_blog_app/blog/blog/

Từ đây, hãy mở file settings.py . Nếu chưa có, hãy thêm django.contrib.admin vào danh sách INSTALLED_APPS , sử dụng editor như nano.

  • nano settings.py

Phần INSTALLED_APPS của file phải tương tự như file bên dưới. Ứng dụng của ta 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 ứng dụng đó được liệt kê trong file này như được 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 file 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 lệnh CTRLX rồi đến Y rồi ENTER .

Bây giờ ta có thể mở lại file urls.py bằng nano hoặc một editor khác.

  • nano urls.py

Dưới comment ở trên cùng, file 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 file khác với những gì ở trên, hãy copy paste các dòng ở trên vào file urls.py của bạn.

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

Bước 2 - Xác minh Administrator là một Ứng dụng đã Cài đặt

Tiếp theo, ta nên di chuyển các mô hình vào database để nó chọn các mô hình Quản trị mới được thêm vào.

Điều hướng đến folder chứa file manage.py .

  • cd ~/my_blog_app/blog

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

  • python manage.py migrate

Nếu ta không thực hiện bất kỳ thay đổi nào đối với các file ở trên, ta sẽ nhận được kết quả 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.

Nếu không, kết quả sẽ cho biết Django đã thực hiện các chuyển đổi cần thiết để hỗ trợ ứng dụng của ta .

Bây giờ ta có thể khởi động server 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 bạn .

  • python manage.py runserver 0.0.0.0:8000

Sau đó, chuyển đế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 server 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.

Màn hình đăng nhập  administrator  Django

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

Mặc dù ta đã kích hoạt ứng dụng này, ta có thể chưa cài đặt account quản trị Django. Ta có thể tạo account quản trị để đăng nhập trong bước tiếp theo.

Bước 3 - Tạo account siêu admin-user

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

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

Django cho phép bạn tạo account siêu user , mà ta có thể thực hiện bằng cách chạy file manage.py để bắt đầu quá trình tạo siêu user .

  • python manage.py createsuperuser

Sau khi làm như vậy, ta sẽ được yêu cầu điền thông tin chi tiết cho tên user , email và password của ta . Trong hướng dẫn này, ta sẽ tạo một account administrator với tên user admin_user , email sammy@example.com và password 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 password 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 password 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 tổ hợp phím của password khi nhập password . Nhấn enter sau mỗi lần nhắc để xác nhận password của bạn.

Output
Password: Password (again):

Đến đây, bây giờ ta có một account quản trị với tên user admin_user và password 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 ta .

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 và sau đó chuyển đến URL http:// your-server-ip :8000/admin/ để truy cập trang đăng nhập quản trị. Sau đó đăng nhập bằng tên user và password và password vừa tạo.

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

 Control panel  quản trị Django

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

Bước 4 - Tạo mẫu URL cho bài đăng và comment

Ở bước trước, ta đã đă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 ta vẫn chưa khả dụng ở đó. Để điền giao diện quản trị của ta với ứng dụng blog, ta cần thêm và đăng ký nó với các mô hình liên quan PostComment .

Để thực hiện việc này, ta sẽ tạo một file trống có tên urls.py , trong folder blogsite , như sau:

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

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

Điều hướng đến vị trí của file urls.py mà ta vừa tạo.

  • cd ~/my_blog_app/blog/blogsite/

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

  • nano urls.py

Thêm các dòng mã sau vào file .

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 ta truy cập các views cho PostsComments . Ta chưa tạo ra các views đó, nhưng sẽ đề cập đến vấn đề này ở phần sau của loạt bài.

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

Kết nối blog của ta với giao diện quản trị sẽ cho phép ta xem các liên kết cho cả PostsComments bên trong console quản trị. Ngay bây giờ, trang tổng quan hiện chỉ hiển thị các liên kết cho GroupsUsers .

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

Điều hướng đến folder blogsite :

  • cd ~/my_blog_app/blog/blogsite

Sau đó, mở file admin.py trong editor mà bạn chọn.

  • nano admin.py

Tệp sẽ được điền với một câu lệnh nhập và một comment .

admin.py
from django.contrib import admin  # Register your models here. 

Bạn nên chỉnh sửa file để file chứa mã sau để hỗ trợ ứng dụng của ta .

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 thấy ổn với file , hãy lưu và thoát.

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

Bước 6 - Xác minh Ứng dụng Blog đã được Thêm vào Administrator

Đến đây bạn đã thêm mã Python có liên quan, hãy chạy server . Mở http:// your-server-ip :8000/admin và đăng nhập vào administrator 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, ta đã đăng nhập bằng tên user admin_user và password admin123 .

Đến đây 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 đây, bạn có thể cần phải làm mới trình duyệt của bạn .

 Control panel  quản trị Django với các mô hình được thêm vào

Điều này xác minh ta hiện đã kết nối ứng dụng của bạn , blogsite , với trang tổng quan quản trị Django.

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

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

  • 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 terminal .

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ị, tạo đăng nhập administrator và đăng ký mô hình PostComment với administrator .

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

Sắp tới trong loạt bài này, ta sẽ tạo các views cho ứng dụng blog.


Tags:

Các tin trước