حتماً با زبان برنامه نویسی پایتون آشنا هستین. این زبان برنامه نویسی برای وب و موبایل استفاده میشه. در این مطلب همراه ما باشید تا با یکی از پرکاربرد ترین فریم ورک های پایتون هست آَشنا بشیم. برای آموزش جنگو django همراه ما باشید.
آنچه که در این مقاله خواهید خواند:
جنگو چیست
جَنگو یک فریم ورک رایگان برای اپلیکیشنهای تحت وبی هست که به زبان پایتون نوشته شدن. فریمورک های وب مجموعه ای از کامپوننت ها هستن که بهتون کمک میکنن تا ساده تر و سریع تر بتونید یک وب سایت رو پیاده سازی کنید.
وقتی شما میخواید یک وبسایت بسازید، همیشه به یک سری از کامپوننت های مشابه و تکراری نیاز دارید مثلا: راهی برای احراز هویت کاربر(ورود، ثبت نام، خروج)، پنل مدیریتی وبسایتتان، فرم ها و راهی برای آپلود فایل ها و …
در واقع خیلی قبلتر افرادی بودن که فهمیدن یک توسعه دهنده وب در زمان ساخت یک سایت جدید به چه مشکلاتی برخورد میکنه. و برای همین عزمشون رو جزم کردن و تیم تشکیل دادن و فریمورک ها (که جنگو یکی از همانهاست) رو ایجاد کردن . که توی اون، این کامپوننت های آماده برای استفاده در اختیار شما قرار میگیره.
فریمورک ها برای این به وجود اومدن که شما چرخ رو از اول اختراع نکنید. از طرفی بهتون کمک کنن تا یک سری از کارهای اضافی و تکراری که زمان ساخت یک وبسایت جدید باید انجام بدید کم بشه.
کاربرد فریم ورک چیست
توی این قسمت از آموزش جنگو بهتره با کاربرد های یک فریم ورک آشنا بشیم. برای اینکه به خوبی درک کنید که جنگو به چه دردی میخوره، باید نگاه دقیقتری به سرور ها بندازیم. اولین نکته اینه که یک سرور نیاز داره که درخواست شما برای اینکه یک صفحه وب رو در اختیارتون بذاره متوجه بشه.
یک صفحه ایمیل باکس (پورت) رو در نظر بگیرید که نامه های ورودی (درخواست ها) رو بررسی میکنه. این کار توسط سرور انجام میشه، وب سرور نامه رو میخونه و بعد به وسیله صفحه وب جوابی رو ارسال میکنه. اما وقتی شما میخواید چیزی رو ارسال کنید، نیاز به محتوا دارید و جنگو اون چیزیه که به شما برای تولید این محتوا کمک میکنه.
معنی درخواست از وب سرور چیست
وقتی یک درخواست به وب سرور میرسه، به جنگو فرستاده میشه تا جنگو بفهمه که دقیقا چه چیزی درخواست شده. جنگو اول آدرس درخواستی رو میگیره و بعد سعی میکنه بفهمه که براساس این درخواست باید چه کاری انجام بده. این کار توسط ماژولی به نام urlresolver در جنگو انجام میشه. (توجه کنید که به آدرس یک وبسایت URL گفته میشه پس کلمه urlresolver به معنای حل و کشف کننده URLهست).
urlresolver خیلی باهوش نیست که صرفا با دریافت یک URL از شما بفهمه که باید چه کاری انجام بده، بلکه این ماژول از قبل لیستی از زوج URLها رو دریافت کرده و سعی میکنه که URL درخواستی توسط کاربر رو با اون تطبیق بده. به عبارتی، جنگو URL دریافتی رو با تمام URL هایی که از قبل توسط برنامه نویس براش تعریف شده از بالا به پایین چک می کنه و اگر چیز منطبقی پیدا کرد، درخواست رو به تابع مرتبط (که به آن View گفته می شود) ارسال میکنه.
برای درک بهتر این قسمت از آموزش جنگو از یک مثال ساده استفاده می کنیم. یک پستچی رو تصور کنید که داره توی طول یک خیابون حرکت میکنه و پلاک همه خونهها رو با نامه ای که توی دستش هست چک میکنه. اگه پلاک یکی بود، نامه رو میدازه توی اون خونه. Urlresolver ها در اصل اینجوری کار میکنن!
تابع View
در تابع view این اتفاقات جذاب میتونه رخ بده:
در این تابع میتونیم برای رسیدن به یک سری اطلاعات، به دیتابیس دسترسی داشته باشیم. فرض کنید که کاربری تقاضای تغییر در یک سری اطلاعات رو داده. فرض کنید کاربری درخواست میده تا نام نمایش داده شده براش در پروفایلش تغییر کنه. تابع view اول بررسی میکنه که آیا این کاربر اجازه انجام چنین کاری رو داره (مثلا کاربر لاگین شده است یا خیر). بعد اگر این اجازه وجود داشت نام کاربر رو تغییر میده و پیام “انجام شد!” رو براش ارسال میکنه. بعد View یک پاسخ (response) تولید میکنه و جنگو میتونه اون رو برای بروزر کاربر ارسال کنه.
مثال بالا یک مثال خیلی ساده سازی شده است، هنوز نیاز نیست تمام موارد تکنیکال رو بدونید. صرفا داشتن یک درک کلی از مفهوم کافیه. واسه همین ما خیلی ساده شروع به استفاده از جنگو میکنیم و تمام نکات مهم را در این مسیر یاد میگیریم .
اگه سوالی از این آموزش جنگو دارید می تونید توی کامنت ها از ما بپرسید.
پاسخها