ผู้ดูแลระบบ Django
จัดการข้อมูลด้วยเว็บไซต์ผู้ดูแลระบบ
ผู้ดูแลระบบ Django เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน
ระบบผู้ดูแลระบบในตัว
Django มาพร้อมกับเว็บไซต์ผู้ดูแลระบบที่ทรงพลัง ซึ่งเป็นอินเทอร์เฟซเว็บที่สร้างขึ้นโดยอัตโนมัติสำหรับจัดการข้อมูลของคุณ นี่คือหนึ่งในฟีเจอร์ที่ได้รับความนิยมมากที่สุดของ Django
# The admin gives you CRUD screens
# for your models with zero UI code
print('Django admin manages data out of the box')ระบบผู้ดูแลระบบติดตั้งมาแล้ว
ระบบผู้ดูแลระบบอยู่ใน django.contrib.admin ซึ่งรวมอยู่ใน INSTALLED_APPS โดยค่าเริ่มต้น และเชื่อมเข้ากับ urls.py ของโปรเจกต์แล้ว
# mysite/urls.py
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
print('admin/ is mapped to the admin site')การสร้างผู้ใช้ระดับผู้ดูแลสูงสุด
คุณต้องมีบัญชีผู้ดูแลระบบจึงจะเข้าสู่ระบบได้ สร้างบัญชีด้วย python manage.py createsuperuser แล้วทำตามคำแนะนำ
# python manage.py createsuperuser
# Username: admin
# Email: admin@example.com
# Password: ********
print('createsuperuser makes an admin login')การเข้าสู่ระบบ
เรียกใช้เซิร์ฟเวอร์แล้วเปิด /admin/ ในเบราว์เซอร์ เข้าสู่ระบบด้วยข้อมูลบัญชีผู้ดูแลสูงสุดเพื่อไปยังแดชบอร์ด
# python manage.py runserver
# Open http://127.0.0.1:8000/admin/
print('Visit /admin/ and log in')การลงทะเบียนโมเดล
โมเดลจะไม่ปรากฏในระบบผู้ดูแลระบบจนกว่าจะลงทะเบียนโมเดลเหล่านั้น ให้ดำเนินการใน admin.py ของแอปด้วย admin.site.register()
# blog/admin.py
from django.contrib import admin
from .models import Post
admin.site.register(Post)
print('Post now appears in the admin')การจัดการข้อมูล
เมื่อลงทะเบียนแล้ว คุณจะได้หน้าจอครบสำหรับสร้าง อ่าน แก้ไข และลบข้อมูล ได้แก่ แสดงแถวทั้งหมด เพิ่มแถวใหม่ แก้ไข และลบ โดยไม่ต้องเขียนฟอร์มใด ๆ
# In the admin you can:
# - view a list of all Posts
# - add a new Post
# - edit or delete existing ones
print('Full CRUD with no extra code')การปรับแต่งด้วย ModelAdmin
คลาส ModelAdmin ใช้ปรับแต่งลักษณะที่โมเดลจะแสดง โดย list_display ใช้เลือกว่าจะแสดงคอลัมน์ใดในมุมมองรายการ
from django.contrib import admin
from .models import Post
class PostAdmin(admin.ModelAdmin):
list_display = ('title', 'created', 'published')
admin.site.register(Post, PostAdmin)
print('list_display picks the columns')การค้นหาและตัวกรอง
เพิ่ม search_fields เพื่อสร้างช่องค้นหา และเพิ่ม list_filter เพื่อสร้างตัวกรองในแถบด้านข้างสำหรับใช้นำทางชุดข้อมูลขนาดใหญ่
from django.contrib import admin
from .models import Post
class PostAdmin(admin.ModelAdmin):
search_fields = ('title',)
list_filter = ('published',)
admin.site.register(Post, PostAdmin)
print('Search box and sidebar filters added')ดีคอเรเตอร์ register
ดีคอเรเตอร์ @admin.register() เป็นทางเลือกที่กระชับกว่าการเรียกใช้ admin.site.register() แยกต่างหาก
from django.contrib import admin
from .models import Post
@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
list_display = ('title',)
print('@admin.register is the decorator form')ความสำคัญของ __str__
กำหนด __str__ ในโมเดล เพื่อให้ระบบผู้ดูแลระบบแสดงป้ายกำกับที่อ่านเข้าใจได้แทนที่จะเป็น 'ออบเจ็กต์ Post (1)'
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=200)
def __str__(self):
return self.title
print('__str__ gives a readable admin label')สิทธิ์การใช้งาน
ระบบผู้ดูแลระบบจะเคารพสิทธิ์ของผู้ใช้ คุณสามารถสร้างผู้ใช้เจ้าหน้าที่ที่มีสิทธิ์จำกัด เพื่อไม่ให้ทุกคนเข้าถึงสิทธิ์ระดับผู้ดูแลสูงสุดได้อย่างเต็มที่
# Staff users (is_staff=True) can access the admin
# Permissions control which models they can edit
print('Permissions limit admin access')ตรวจสอบความเข้าใจอย่างรวดเร็ว
ทดสอบความรู้เกี่ยวกับระบบผู้ดูแลระบบของคุณ
สรุปทบทวน
คุณได้ใช้ระบบผู้ดูแลระบบของ Django เพื่อจัดการข้อมูล
- ระบบผู้ดูแลระบบมีมาให้ในตัวและกำหนดเส้นทางไว้ที่
/admin/ - สร้างบัญชีด้วย
createsuperuser - ลงทะเบียนโมเดลใน
admin.pyเพื่อรับหน้าจอสำหรับสร้าง อ่าน แก้ไข และลบข้อมูล ModelAdminใช้ปรับแต่งคอลัมน์ การค้นหา และตัวกรอง- กำหนด
__str__เพื่อให้ได้ป้ายกำกับที่อ่านเข้าใจได้ และใช้สิทธิ์เพื่อจำกัดการเข้าถึง
คำถามที่พบบ่อย
บทเรียน “ผู้ดูแลระบบ Django” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ผู้ดูแลระบบ Django” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ผู้ดูแลระบบ Django”
จัดการข้อมูลด้วยเว็บไซต์ผู้ดูแลระบบ คุณปฏิบัติ Python Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “ผู้ดูแลระบบ Django” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Python Academy นี้ได้ไหม
ได้ บทเรียน Python Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- โครงการและแอป
- โมเดลและการย้ายฐานข้อมูล
- วิวและ URL
- ผู้ดูแลระบบ Django