0Pricing
Python Academy · บทเรียน

ผู้ดูแลระบบ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. โครงการและแอป
  2. โมเดลและการย้ายฐานข้อมูล
  3. วิวและ URL
  4. ผู้ดูแลระบบ Django
← กลับไปที่ Python Academy