۳ – پنل ادمین Django و اپلیکیشن وبلاگ

بلاگ پای ۳

پنل ادمین Django، یکی از قابلیت های مفید و پراستفاده جنگو است و همچنین ویژگی اپلیکیشن ها در جنگو باعث مدیریت بهتر کدهای پیچیده و عظیم خواهد شد. فرض کنید اگر یک پروژه جنگو دارای بخش های مختلفی نظیر بخش کاربران، احراز هویت، وبلاگ، فروشگاه یا پرداخت باشد چگونه باید این بخش ها را از همدیگر جدا کرد؟ پاسخ این سوال، استفاده از اپلیکیشن های Django است.

در سومین ویدیو دوره آموزشی توسعه سریع وب با Django 2، به سراغ اپلیکیشن های جنگو می‌رویم و نیز دستی به پنل ادمین Django می‌کشیم.

دوره آموزشی توسعه سریع وب با Django 2 به صورت رایگان و هفتگی منتشر خواهد شد و عام المنفعه خواهد بود. در ادامه به توضیحاتی می‌پردازیم تا درک بهتری از ‌Application ها در جنگو پیدا کنید و سپس با پنل ادمین Django آشنا خواهیم شد.

تفاوت پروژه و اپلیکیشن در Django چیست؟

در مستندات پروژه Django، پروژه اصطلاحا به یک Web Application گفته می‌شود که با زبان پایتون و جنگو ساخته شده است. همانند قسمت دوم بلاگ پای که یک پروژه Django ساختیم.

هنگامی که یک پروژه Django می‌سازیم با ساختاری مشابه زیر روبه رو هستیم.

ساختار پروژه Django

زمانی که یک پروژه Django را می‌سازیم، پوشه ای همنام با اسم پروژه به اسم blogpy تشکیل خواهد شد که شامل فایل هایی نظیر settings.py، urls.py و … خواهد بود. در این فایل ها تنها تنظیمات اصلی و مهم برنامه Django قرار خواهد گرفت. برای مثال اگر وارد فایل urls.py شویم، آدرس پنل ادمین Django که به صورت پیشفرض ساخته می‌شود را خواهیم دید.

حال به سراغ مفهوم تری به نام Application ها در جنگو می‌رویم. پروژه های Django توسط سازمان ها و شرکت های بزرگی استفاده می‌شود که ممکن است انتظارات گوناگونی از پروژه داشته باشند. برای مثال بخش وبلاگ برای درج اخبار شرکت، بخش صفحات اصلی و پیشنهادات ویژه، بخش فروشگاه و سبد خرید و پرداخت های آنلاین و یا هر نوع ویژگی ای که بخواهید در پروژه خود پیاده سازی کنید.

زمانی که پروژه های تجاری و بزرگ را با جنگو توسعه می‌دهید، حجم کدها بعد از یک زمان بسیار زیاد خواهد شد. به همین دلیل با استفاده از قابلیت اپلیکیشن ها در جنگو، بخش های مختلف پروژه را از یکدیگر جدا میکنیم. برای مثال برای وبلاگ یک اپلیکیشن blog خواهیم ساخت. برای پیشنهادات ویژه یک اپلیکیشن offer خواهیم ساخت و برای فروشگاه یک اپلیکیشن store و … به همین ترتیب بخش های مختلف برنامه را از یکدیگر جدا می‌کنیم تا کدها شکسته شوند.

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

ساختار اپلیکیشن در جنگو

البته باید به این نکته دقت داشته باشید هنگامی که یک اپلیکیشن جنگو می‌سازید، حتما باید آن را در فایل settings.py و قسمت INSTALLED_APPS وارد کنید.

installed apps در جنگو

پنل ادمین Django، قدرتمند و ساده

هنگامی که یک پروژه Django را اجرا می‌کنیم، پنل ادمین Django به صورت پیشفرض در آدرس http://127.0.0.1:8000/admin/ اجرا خواهد شد. (دقت کنید در انتهای آدرس باید حتما علامت / را قرار دهید تا بتوانید وارد پنل ادمین Django شوید.

پنل ادمین Django

پس از ساخت super user و وارد کردن نام کاربردی و کلمه عبور، وارد پنل ادمین پیشفرض جنگو خواهیم شد. همانطور که در ویدیو مشاهده کردید، از طریق پنل ادمین Django می‌توانید به راحتی کاربرهای وب اپلیکیشن را ویرایش کنید یا یک کاربر جدید بسازید و یا حتی یک کاربر را حذف کنید.

اپلیکیشن Users در پنل ادمین Django

همانطور که در تصویر مشاهده می‌کنید، اپلیکیشن Users یکی از اپلیکیشن های پیشفرض جنگو است که به صورت خودکار هنگام migration ساخته می‌شود و می‌توانید از آن استفاده کنید. همانطور که می‌بینید جنگو نیز به صورت ماژولار نوشته شده است و توسط اپلیکیشن های Built-In جنگو می‌توانید امکانات اولیه توسعه پروژه را به راحتی در اختیار داشته باشید.

همچنین اگر مایل به مطالعه بیشتر در رابطه با پنل ادمین جنگو هستید، می‌توانید به مستندات رسمی پنل ادمین Django مراجعه کنید.

در قسمت های آینده بلاگ پای، به سراغ ساخت دیتابیس Postgresql توسط داکر و اتصال آن به پروژه می‌رویم تا بتوانیم اپلیکیشن وبلاگ را توسعه دهیم.

محمد بابازاده
متخصص DevOps و توسعه دهنده Python