من بلاگ

جنگو چیست؟ توضیحات تکمیلی تر

img

توی پست قبل به صورت کلی درباره جنگو اطلاعاتی به دست آوردیم
امروز بریم ببینیم یکم تخصصی تر چه امکاناتی به ما میده؟ و به چه درد ما می خوره!
چند تا از ویژگی های یکم تخصصی تر رو بهتون میگم و سعی می کنم به راحت ترین حالت ممکن توضیحشون بدم(پست قبلی رو بخوند قبلش لطفا!)

1- از معماری MVT استفاده میکنه!
خب سروش یجور حرف بزن ما هم بفهمیم!!
ببین M مخفف model عه V مخفف view و T مخفف template
اینا یعنی چی؟
یه صفحه لاگین و ثبت نام رو در نظر بگیرید!
چیزی که شما به عنوان مخاطب می بینید یه صفحست که توش مثلا می تونید یوزرنیم، پسورد، ایمیل یا هر چیز دیگه ای رو وارد کنید و یه دکمه داره که مثلا ثبت نام یا لاگینه!
این میشه template... همون قسمتی که فایل های html توش قرار میگیره

حالا شما اطلاعات رو وارد می کنید و روی دکمه پایینشون کلیک می کنید!
چی میشه؟ اطلاعات از طریق template به قسمت view می رسه!که اونجا مثلا اطلاعات ورود شما رو بررسی می کنه تا ببینه یوزرنیم و پسورد درستن یا نه.... یا حتی شاید یوزر جدید درست کنه و نتیجه رو به صورت متن بفرسته براتون!(دیدین بعد ثبت نام یه پیغام معمولا سبز رنگ میاد بالا که میگه ثبت نام با موفقیت انجام شد و...؟) خب.. چطوری اینکار رو انجام میدن؟ اطلاعات از قسمت view به template می رسن و برای ما نمایش داده میشن!
پس تا الان چی شد؟
از طریق template به view اطلاعات فرستاده میشه! از طریق view هم به template یعنی رابطه دو طرفست!
یه سوال پیش میاد...
ار کجا می فهمه اطلاعات ارسال شده توی فرم لاگین ما درسته یا غلط؟
اینجا جاییه که view به بخش سوم که همون model عه وصل میشه!
خیلی ساده بگم model نحوه درست کردن دیتابیس عه و دیتابیس هم یه فضایی برای ذخیره کردن اطلاعاته!
مثلا برای همین صفحه لاگین، ما یه مدل داریم به اسم "کاربر" و هر کاربر میتونه اطلاعاتی مثل آدرس ایمیل، پسورد، شماره تماس و ... داشته باشه(اینا رو توی قسمت ویو تعریف می کنیم)
و خروجیش یه همچین چیزی میشه

کاربر
نام کاربری شماره تماس ایمیل پسورد
کاربر شماره 1 09309999999 soroush@judgemehere.ir aD#daT$asd

view یه درخواست میده به model که اطلاعات اون کاربر رو پیدا کنه و درست بودن اطلاعات رو تائید یا رد کنه! 
model هم جواب درخواست رو میده و یک سری اطلاعات به view تحویل میده
از اون ور از طریق view میشه اطلاعاتی ارسال بشه سمت model تا اونجا ذخیره بشن(مثل وقتی که می خوای یوزر جدید بسازی!)
پس اینجا هم یه رابطه دو طرفه وجود داره

خلاصش میشه یه همچین چیزی!

خب همه اینا رو گفتی! که چی؟!
خیلی ساده بگم...خوبه!😂😂به من اعتماد کنید!
کارا راحت تر پیش میره نسبتا و سرعت خوبی داره!

2- یه مدل خیلی جالب هست که جنگو ازش استفاده می کنه به اسم ORM
اسمش رو بیخیال.. چیکار میکنه!؟
اگه با دیتابیس کارکرده باشید تا حالا متوجه میشید پیر آدم در میاد بخواد توی یه دیتابیس جداولی رو به وجود بیاره که اطلاعات رو ذخیره کنه(شدنیه ولی باید SQL کد بزنید یا با استفاده از دیتابیس های NoSQL کارتون رو راه بندازید)
خب مثلما توی جنگو هم نیازه این دیتابیس ها!
و باز هم برمی گردیم سر مبحث شیرین و جذاب خسته بودن برنامه نویس های پایتون!😂😂
کی حال داره بشیه کد بزنه برای دیتابیس؟؟!
با خود پایتون و یه سری امکاناتی که جنگو در اختیارمون میذاره همون جداول رو می نویسیم و خود جنگو به SQL یا NoSQL ترجمه و تبدیل میکنه و خروجی رو به ما تحویل میده!(این میشه تعریفه عامیانه ORM)
میدونی ینی چی؟!
یعنی 3 روز کار کردن روی یه دیتابیس که تهش هم مضخرف میشه! میتونی توی چند ساعت یه دیتابیس شیک و خوب داشته باشی!



این میشه همون ORM کد های داخل عکس رو ببینید!
اون 4 5 خط پایینو میدی اون 6 7 خط بالا رو بهت میده!یعنی نمیده تبدیل میکنه و خروجیش که جدول دیتابیسته رو بهت نشون میده!
دیگه چی از این بهتر؟!
برای امروز کافیه تا بعدا ببینیم چی میشه درباره جنگو گفت که هم باحال باشه هم با لحن خودمونیه من بخوره توضیح دادنش!🤣

0 دیدگاه

Add a comment