هنگامی که در حال ساختن یک وب سایت یا برنامه با Django هستید ، یکی از جالب ترین لحظات زمانی است که در نهایت مدل های پایگاه داده شما زنده می شوند.

اما برای مدیریت به راحتی داده های خود – اضافه کردن ، ویرایش یا حذف ورودی ها – به پانل مدیر Django نیاز دارید.

اکنون ، این نکته جالب است: فقط ایجاد یک مدل کافی نیست. اگر می خواهید در پانل مدیر نمایش داده شود ، باید ثبت نام آن

و صادقانه بگویم ، ثبت نام در Django Admin یکی از ساده ترین اما مهمترین مراحل است. اگر آن را از دست دادید ، احساس می کنید مدل شما حتی وجود ندارد.

در این راهنما ، من دقیقاً روش ثبت مدل های خود را در Django Admin ، گام به گام ، با نمونه های کد آسان درک می کنم.

فهرست مطالب

  • چرا مدیر Django مهم است

  • روش ثبت مدل ها در Django Admin

    • مرحله 1: مطمئن شوید که یک مدل دارید

    • مرحله 2: مدل خود را در مدیر ثبت کنید

    • مرحله 3: (اختیاری) روش نگاه مدل شما در مدیر را سفارشی کنید

  • متداول

    • 1. من یک مدل اضافه کردم ، اما در مدیر نمایش داده نمی شود. چه اتفاقی افتاد؟

    • 2. آیا باید هر مدل را به طور جداگانه ثبت کنم؟

    • 3. چگونه می توانم یک مدل را ثبت نام کنم؟

  • پیوندها و منابع مفید

  • افکار نهایی

چرا مدیر Django مهم است

Django Admin مانند داشبورد شخصی شما برای پس زمینه وب سایت شماست. پس از ثبت مدل های خود ، می توانید محتوای برنامه خود را بدون لمس هر کد مدیریت کنید.

تصور کنید که می توانید پست های جدید وبلاگ اضافه کنید ، کاربران را تأیید کنید ، لیست محصولات را به روز کنید – همه با چند کلیک. این جادوی مدیر Django است.

بدون ثبت صحیح مدل های خود ، شما همه چیز را به صورت دستی مدیریت می کنید ، که می تواند سریعاً کثیف شود.

به علاوه ، مدیر Django ساعت های توسعه دهندگان را صرفه جویی می کند. این یکی از دلایلی است که جنگو چنین چارچوبی قدرتمند است.

روش ثبت مدل ها در Django Admin

مرحله 1: مطمئن شوید که یک مدل دارید

قبل از اینکه بتوانید هر چیزی را ثبت کنید ، به یک مدل نیاز دارید. در اینجا یک نمونه فوق العاده اساسی از یک مدل در داخل یک برنامه Django به نام blogبشر

درون blog/models.py:

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=200)
    body = models.TextField()
    date_created = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

در این مدل:

  • title یک قسمت متن کوتاه است.

  • body برای محتوای طولانی تر است

  • date_created به طور خودکار زمان ایجاد پست را ذخیره می کند.

و __str__ روش؟ این فقط به Django است که چگونه می توان هر پست را در مدیر نشان داد – این عنوان پست را به جای چیزی مانند نمایش می دهد Post object (1)بشر

سریع: همیشه یک اضافه کنید __str__ روش به مدل های شما. این باعث می شود رابط مدیر شما بسیار تمیزتر باشد.

مرحله 2: مدل خود را در مدیر ثبت کنید

خوب ، مدل شما آماده است. زمان ثبت نام آن!

باز blog/admin.pyبشر هنگامی که یک برنامه جدید Django ایجاد می کنید ، این پرونده به طور پیش فرض خالی است.

در اینجا روش ثبت نام آورده شده است Post مدل:

from django.contrib import admin
from .models import Post

admin.site.register(Post)

اینجا چه اتفاقی می افتد؟

  • اول ، شما import ماژول مدیر Django.

  • سپس ، شما import مدل شما (Post).

  • در آخر ، شما استفاده می کنید admin.site.register() برای گفتن به جنگو ، “سلام ، من می خواهم این مدل در پانل مدیر نمایش داده شود.”

فایل را ذخیره کنید. حال اگر به سایت مدیر خود بروید (معمولاً در http://127.0.0.1:8000/admin) ، خواهید دید پست در آنجا ذکر شده است.

مرحله 3: (اختیاری) روش نگاه مدل شما در مدیر را سفارشی کنید

به طور پیش فرض ، Django Admin مدل های شما را در یک جدول بسیار اساسی نشان می دهد. اما می توانید با کمی سفارشی سازی آن را بسیار بهتر کنید.

در اینجا روش ایجاد پست ها می توانید عنوان و تاریخ ایجاد را با یک نگاه نشان دهید.

هنوز در داخل blog/admin.py:

from django.contrib import admin
from .models import Post

class PostAdmin(admin.ModelAdmin):
    list_display = ('title', 'date_created')

admin.site.register(Post, PostAdmin)

اکنون:

  • list_display به Django می گوید کدام قسمت ها را می خواهید در نمای لیست نشان دهید.

  • شما ایجاد می کنید PostAdmin کلاس که روش روش Post مدل باید در مدیر رفتار کند.

  • هنگام ثبت نام ، هر دو مدل را منتقل می کنید (Post) و کلاس مدیر (PostAdmin).

سریع: سفارشی سازی مدیر شما گردش کار شما را بهبود می بخشد خیلی – به خصوص هنگامی که شما در حال مدیریت بسیاری از ورودی ها هستید.

متداول

1. من یک مدل اضافه کردم ، اما در مدیر نمایش داده نمی شود. چه اتفاقی افتاد؟

مطمئن شوید که:

  • مدل را در داخل ثبت کرد admin.pyبشر

  • مهاجرت را اجرا کرد (python manage.py makemigrations وت python manage.py migrate) اگر هر چیزی را در مدل تغییر دادید.

همچنین ، بررسی کنید که آیا برنامه در شما ذکر شده است INSTALLED_APPS درون settings.pyبشر

2. آیا باید هر مدل را به طور جداگانه ثبت کنم؟

بله هر مدلی که می خواهید در مدیر مدیریت کنید باید ثبت شود. اما می توانید چندین مدل را نیز با هم ثبت کنید:

from .models import Post, Comment, Category

admin.site.register([Post, Comment, Category])

3. چگونه می توانم یک مدل را ثبت نام کنم؟

می توانید استفاده کنید:

from django.contrib import admin
from .models import Post

admin.site.unregister(Post)

اما صادقانه بگویم ، بیشتر اوقات ، اگر نمی خواهید در آنجا ، ثبت نام آن را متوقف کنید.

افکار نهایی

ثبت نام مدل ها در Django Admin ممکن است یک قدم کوچک به نظر برسد ، اما تأثیر بسیار زیادی دارد روی روش کار با داده های خود

این پایگاه داده شما را به یک داشبورد دوستانه تبدیل می کند که هر کسی می تواند از آن استفاده کند-حتی افراد غیر فنی.

هنگامی که در ثبت نام و سفارشی کردن مدل های خود راحت شوید ، سریعتر حرکت می کنید و در کنترل برنامه خود احساس بیشتری می کنید.

حالا کنجکاو هستم – کدام مدل را برای ثبت نام در مدیر Django خود بیشتر هیجان زده اید؟ بیایید گپ بزنیم روی X.

  • رسمی Documentation – سایت مدیر

  • درک مدل های Django (پایتون واقعی)

  • آموزش دختران جنگو – آشنایی با مدیر Django

اگر می خواهید حتی به سمت شخصی سازی مدیر Django Shientization شوید ، این مکان های عالی برای رفتن هستند.