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

معرفی فریم ورک جنگو
 ۱۴۰۰/۲/۲۵ | ۲۲:۱۰
خلاصه این مطلب: پایتون یکی از محبوب‌ترین زبان‌های برنامه‌نویسی جهان است و دومین زبان پر استفاده در پروژه‌های GitHub در سال ۲۰۱۷ بوده بنابراین اگر شما به زبان برنامه‌نویسی پایتون علاقمند هستید، مطمئنا درباره فریمورک قدرتمند وب پایتون یعنی Django چیزهایی به گوشتان خورده است. امروز میخواهیم این فریمورک قدرتمند را معرفی کنیم.

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

جنگو چیست؟

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

فریم ورک جنگو

در فریمورک جنگو هدف حداقل کدنویسی ، حداکثر بازدهی و مفهوم Batteries Included است. این مفهوم به این معنی است که همه چی داخلش است. در جنگو شما نیازی ندارید چیزی از بیرون نصب کنید و یک فریمورک Full Feature است اما Flask این طوری نیست اما کاری میکند که ابزارهای مختلف را از پایتون بیاورید و داخلش استفاده کنید. Flask ساختار یکپارچه ندارد ولی Django دارد. جایی که کیفیت و سرعت و عدم درگیر شدن مباحث فنی طراحی سیستم مهم است جنگو خیلی بهتر است ، جنگو بحثهای مربوط به Design Pattern را خودش handle میکند و شما فقط روی کسب و کار تمرکز میکنید اما در Flask شما باید نحوه ی پیاده سازی مشخص کنید.

ساختار Django

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

ساختار Django

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

جنگو از موتور ORM (Object Relation Mapper) استفاده میکند که ارتباط با دیتابیس است. مزیت آن رفع باگهای دیتابیس است از جمله SQL Injection و ... است. در واقع ارتباط بین Object و SQL را ORM تامین میکند. همیچنین اگر نوع دیتابیس هم عوض کنیم نیازی به نگرانی نداریم چون خود ORM این مسئله را handle میکند. ORM مبحث Migration هم مدیریت میکند. Django از دیتابیس‌های بسیاری پشتیبانی میکند.

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

مدل‌ها در Django

Template‌ها در جنگو

لایه template مشابه لایه view در معماری MVC است و هدف آن نمایش داده‌ و اطلاعات به کاربر است. اگر شما با templating در زبان‌ها و فریمورکهای دیگر از جمله لاراول آشنا باشید، تقریبا در جنگو هم به این شکل است. شما از یک سینتکس مشابه HTML استفاده میکنید که بعدا به HTML کامپایل میشود و شامل تمامی داده‌های مربوطه میباشد. البته که فرمت‌های غیر HTML هم وجود دارند، مثلا اگر خواستید میتوانید از سندهای XML یا فایلهای JSON   و ... استفاده کنید.

Views در جنگو

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

جمع‌بندی

در نظر داشته باشید که هر فریم ورک روی یک چیزی تمرکز میکند به همین دلیل است که فریم ورکهای مختلفی داریم ، شاید این سوال برایتان پیش بیاید که زبان های دیگر چطور هستند برای مثال زبان PHP از لحاظ اینکه بتواند یک وب اپلیکیشن را پیاده سازی کند ضعیف است اما پایتون بخاطر کتابخانه هایی که دارد دست شما را باز میگذارد.

راه اندازی سرور PHP نیاز به تخصص خاصی نداره اما Django پیچیدگی خاص خودش را دارد که باعث میشود شرکت به برنامه نویس جنگو کارش وابسته باشد. جنگو را باید روی VPS یا Container اجرا کنید ولی PHP را میتوان روی هاست های ارزان قیمت هم اجرا کرد. جنگو آینده بهتری نسبت به PHP دارد اما گرانتر هست، این نکته را در نظر بگیرید که در کوتاه مدت PHP ارزان تر تمام میشود ولی پایتون در بلند مدت ارزان تمام میشود و هزینه های کمتری دارد.

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

https://docs.djangoproject.com/en/3.2

نویسنده : امیر مصطفوی نژاد

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

  نظرات کاربران (0 نظر)
شما هم می توانید در مورد این مطلب نظر دهید نظر خود را بنویسید
با دوستان خود به اشتراک بگذارید