من رفتم سربازی اگر محتوای منو دوست داشتید و بدردتون خورد از من حمایت مالی کنید
فریم‌ورک جنگو
فریم‌ورک جنگو

فریم‌ورک جنگو

پایتون یکی از محبوب‌ترین زبان‌های برنامه‌نویسی جهان است و دومین زبان پر استفاده در پروژه‌های Github در سال ۲۰۱۷ بوده است. بنابراین اگر شما به زبان برنامه‌نویسی پایتون علاقمند هستید، مطمئنا درباره فریم‌ورک قدرتمند وب پایتون یعنی Djangoچیزهایی شنیده‌اید. محبوبیت رو به افزایش فریم‌ورک‌های وب، یادگیری و انتخاب میان آن‌ها را تا حدی دشوار کرده است.

 

فریم‌ورک جنگو

جنگو چیست؟

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

 

ساختار جنگو

جنگو از معماری سه لایه MVT استفاده می‌کند که مخفف Model -View – Template است. این معماری نوع تغییر داده شده MVC برای فریم‌ورک جنگو بوده و به آن بسیار شبیه است. زمانی که سرور جنگو، یک request (درخواست) دریافت می‌کند، مسیریاب URL آن request را به view مناسب هدایت می‌کند؛ سپس لایه view داده را از لایه model دریافت می‌کند و با استفاده از متدها و فانکشن‌هایی که در آن نوشته می‌شود، لایه template را پر میکند و آن‌را به کاربر ارسال میکند.

معماری سه لایه Model -View – Template جنگو

 

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

در فریم‌ورک جنگو با استفاده از مدل قدرتمند و بسیار مفید ORM، انجام عملیات مختلف با دیتابیس بسیار ساده شده و فرایند توسعه تسریع یافته است. ORM مخفف Object-Relational-Mapping است و بدون آن، توسعه دهنده باید تمامی جداول را خودش ایجاد کند و برای انجام هرگونه عملیات با دیتابیس، کوئری مربوطه را باید خودش بنویسد که گاها این روند می‌تواند در پروژه‌های بزرگ بسیار پیچیده و کسل کننده شود. ORM به شما این امکان را می‌دهد تا تمامی کوئری‌های دیتابیس را با دستورات ساده پایتون اجرا کنید و هم‌چنین متدهای آماده‌ای در آن برای پیاده‌سازی عملیات crud با دیتابیس تعبیه شدند. در حقیقت، برنامه‌نویس نیازی ندارد تا به تمامی روش‌های پیچیده SQL را یک‌جا یاد بگیرد. برخلاف سایر فریم‌ورک‌ها، تمامی مدل‌ها در یک فایل به اسم models.py قرار می‌گیرند و همین مورد می‌تواند در روند توسعه پروژه‌های بزرگ بسیار مفید است. Django از دیتابیس‌های بسیاری پشتیبانی می‌کند. SQLite برای توسعه و تست کردن بسیار مناسب است چون هنگام نصب Django بصورت پیش فرض نصب می‌شود و نیازی به نصب برنامه خاصی نیست. برای Production می‌توانید از MYSQL و PostgreSQL استفاده کنید و اگر می‌خواهید از NoSQL‌ها استفاده کنید، می‌توانید از MongoDB با جنگو استفاده کنید.

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

 

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 و جاوا اسکریپت در سایت یاد بگیرید. نظرات خود را در ارتباط با “فریم ورک جنگو” برای ما ارسال کنید.

برای امتیاز به این نوشته کلیک کنید!
[کل: 1 میانگین: 5]