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ệuPosts
và Comments
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:
- Bạn đã cài đặt Django version 3 trở lên.
- Bạn đã kết nối ứng dụng Django của bạn với database . Ta đang sử dụng MySQL và bạn có thể đạt được kết nối này 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 database ”.
- Bạn đang làm việc với hệ điều hành dựa trên Unix, tốt nhất là server cloud Ubuntu 20.04 vì đây là hệ thống ta đã thử nghiệm. Nếu bạn muốn cài đặt Django trên một môi trường tương tự, vui lòng tham khảo hướng dẫn của ta , “ Cách cài đặt Django và cài đặt môi trường phát triển trên Ubuntu 20.04 .
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.
... # 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 CTRL
và X
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.
… """ 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.py
và urls.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
.
OutputOperations 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.
Đế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 CTRL
và C
để 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ớ.
OutputUsername (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.
OutputPassword: 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.
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 Post
và Comment
.
Để 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 .
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 Posts
và Comments
. 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ả Posts
và Comments
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 Groups
và Users
.
Để kết nối cả hai với nhau, ta cần đăng ký các mô hình Posts
và Comments
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 .
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 .
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 Post
và Comment
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 .
Đ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 Post
và Comment
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.
Các tin liên quan