فریم ورک جنگو

فریم ورک جنگو

پایتون یکی از محبوب‌ترین زبان‌های برنامه‌نویسی جهان است و دومین زبان پر استفاده در پروژه‌های Github در سال ۲۰۱۷ بوده است.

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

محبوبیت رو به افزایش فریمورک‌های وب، یادگیری و انتخاب میان آنها را تا حدی دشوار کرده است.

برای بررسی فریم ورک جنگو این مقاله را مطالعه کنید.

 

جنگو چیست؟

Django یک فریمورک MTV برای ساخت اپلیکیشن‌های وب است.

جنگو به برنامه‌نویسان وب کمک میکند تا کدهای تمیز، کارآمد و قدرتمند بنویسند.

علاوه بر اینکه در لیست محبوب‌ترین فریمورک‌های وب جهان حضور دارد.

جنگو یکی از پر استفاده‌ترین تکنولوژی‌ها برای توسعه وب می‌باشد. این فریمورک توسط اینستاگرام، یوتیوب، گوگل و حتی ناسا برای توسعه وبسایت‌شان بکار رفته است.

ساختار Django

جنگو از معماری سه لایه MVT استفاده میکند که مخفف Model -View – Template میباشد.

این معماری نوع تغییر داده شده MVC برای فریمورک جنگو بوده و به آن بسیار شبیه است.

زمانی که سرور جنگو، یک request (درخواست) دریافت میکند، مسیریاب URL آن request را به view مناسب هدایت می‌کند؛

سپس لایه view داده را از لایه model دریافت می‌کند و با استفاده از متدها و فانکشن‌هایی که در آن نوشته می‌شود، لایه template را پر میکند و آنرا به کاربر ارسال میکند.

جنگو چیست؟

مدل‌ها (Models) در Django

در فریمورک جنگو با استفاده از مدل قدرتمند و بسیار مفید ORM، انجام عملیات مختلف با دیتابیس بسیار ساده شده و فرایند توسعه تسریع یافته است.

ORM مخفف  Object-Relational-Mapping است و بدون آن، توسعه دهنده باید تمامی جداول را خودش ایجاد کند و برای انجام هرگونه عملیات با دیتابیس، کوئری مربوطه را باید خودش بنویسد که گاها این روند میتواند در پروژه‌های بزرگ بسیار پیچیده و کسل کننده باشد.

ORM به شما این امکان را میدهد تا تمامی کوئری‌های دیتابیس را با دستورات ساده پایتون اجرا کنید و همچنین متدهای آماده‌ای در آن برای پیاده‌سازی عملیات crud با دیتابیس تعبیه شدند.

در حقیقت، برنامه‌نویس نیازی ندارد تا به تمامی روشهای پیچیده SQL را یکجا مسلط باشد.

برخلاف سایر فریمورک‌ها، تمامی مدلها در یک فایل به اسم models.py قرار میگیرند و همین مورد میتواند در روند توسعه پروژه‌های بزرگ بسیار مفید باشد.

Django از دیتابیس‌های بسیاری پشتیبانی میکند.

SQLite برای توسعه و تست کردن بسیار مناسب است چون هنگام نصب Django بصورت پیش فرض نصب می‌شود و نیازی به نصب برنامه خاصی نیست.

برای Production میتوانید از MYSQL و PostgreSQL استفاده کنید و اگر می‌خواهید از NoSQL ها استفاده کنید، میتوانید از MongoDB با جنگو استفاده کنید.

جنگو چیست؟

Template ها در جنگو

لایه template مشابه لایه view در معماری MVC است و هدف آن نمایش داده‌ و اطلاعات به کاربر بوده و در حقیقت منطق ظاهری برنامه (Display Logic) می‌باشد.

اگر شما با templating در زبان‌ها و فریمورکهای دیگر از جمله لاراول آشنا باشید، تقریبا در جنگو هم به این شکل است.

شما از یک سینتکس مشابه HTML استفاده می‌کنید که بعدا به HTML کامپایل میشود و شامل تمامی داده‌های مربوطه می‌باشد.

البته که فرمت‌های غیر HTML هم وجود دارند؛

مثلا  می‌توانید از سندهای XML یا فایلهای JSON و … استفاده کنید.

Views در جنگو

View در جنگو لایه بیزینس از معماری سه لایه MVT است.

این لایه شامل فانکشن‌ها و متدهایی میشود که موجب دریافت و پردازش درخواست کاربر و ارسال نتیجه معتبر برای کاربر می‌شود.

این لایه داده را از Model دریافت میکند و به هر کدام از template ها دسترسی به داده خاصی را می‌دهد.

مزایای جنگو

  • پکیج اهراز هویت (Authentication)
  • پنل ادمین پیشفرض و بسیار ماژولار
  • پکیج Sessions برای مدیریت Session ها
  • مدیریت پیام‌های موقت یا پیام‌های Session-based با استفاده از پکیج Messages
  • تولید Google sitemap XML یا استفاده از پکیج Sitemaps
  • بر پایه پایتون
  • یادگیری ساده و تسریع روند کدنویسی و توسعه پروژه

چگونه جنگو را یاد بگیریم؟

برای یادگیری Django ابتدا باید با پایتون آشنا بشید و تسلط کافی را داشته باشید.

پس از پایتون باید به پایه و اساس طراحی وب که HTML/CSS/JS است مسلط شوید و سپس سراغ یادگیری فریمورک فوق العاده و بسیار قدرتمند Django بروید.

می‌توانید پایه و اساس طراحی وب را با دوره‌های پرطرفدار و رایگان HTML، CSS، CSS3 و جاوا اسکریپت در سایت یاد بگیرید.

 

نظرات خود را در ارتباط با “فریم ورک جنگو” برای ما ارسال کنید.

موفق باشید.

برای امتیاز به این نوشته کلیک کنید!
[کل: ۰ میانگین: ۰]
با دوستانتان به اشتراک بگذارید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

code