از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش ثبت مدل ها در Django Admin

سرفصلهای مطلب
هنگامی که در حال ساختن یک وب سایت یا برنامه با 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 شوید ، این مکان های عالی برای رفتن هستند.
منتشر شده در 1404-04-29 20:42:14