مقدمه (Intro)
اینجا معرفی جنگو را می بینی. «جنگو (Django)» یک فریم ورک سمت سرور است. فریم ورک یعنی جعبه ابزار آماده برای ساخت سایت. جنگو کارهای سخت را ساده می کند. سپس تو روی ساخت ویژگی ها تمرکز می کنی.
معرفی جنگو چیست؟
جنگو ساخت وب سایت های پایتونی را آسان می کند. خیلی از بخش ها آماده اند. ورود کاربر، اتصال پایگاه داده، و عملیات CRUD حاضرند. CRUD یعنی ایجاد، خواندن، به روزرسانی، حذف. بنابراین سریع تر پیش می روی.
نکته: برای شروع سریع، از معرفی جنگو در صفحه خانه هم سر بزن.
جنگو چگونه کار می کند؟ الگوی MVT
الگوی MVT یعنی Model، View، Template. مثل سه نقش در یک تیم. هر کدام کاری مشخص دارند.
- Model: داده ها. معمولاً از پایگاه داده می آیند.
- View: پاسخ دهنده درخواست. قالب مناسب را برمی گرداند.
- Template: طرح صفحه. نمایش داده ها با منطق ساده.
Model (مدل)
مدل، داده را از پایگاه داده می دهد. جنگو از ORM استفاده می کند. ORM یعنی کار با داده مثل شیء، نه SQL خام. بنابراین نیازت به SQL پیچیده کمتر می شود. فایل معمولی مدل ها models.py است.
View (ویو)
ویو تابعی است که درخواست HTTP را می گیرد. سپس مدل های لازم را می آورد. بعد داده مناسب را به قالب می فرستد. در پایان نتیجه را برمی گرداند. فایل معمولی ویوها views.py است.
Template (قالب)
قالب توضیح می دهد صفحه چگونه نمایش یابد. معمولاً فایل HTML است. اما تمرکز ما روی HTML خواهد بود. جنگو از HTML استاندارد به همراه تگ های جنگو استفاده می کند.
<h1>My Homepage</h1>
<p>My name is {{ firstname }}.</p>
قالب های هر اپ معمولاً داخل پوشه templates قرار می گیرند.
URLs (مسیرها)
برای هر آدرس، جنگو تصمیم می گیرد کدام ویو اجرا شود. این نگاشت در urls.py تعریف می شود. مثل فهرست راهنمای مدرسه است. هر کلاس آدرسی مشخص دارد.
پس چه اتفاقی می افتد؟
- مرورگر URL را می فرستد. جنگو
urls.pyرا بررسی می کند. - ویوِ مطابق آدرس صدا زده می شود.
- ویو مدل ها را از
models.pyوارد می کند. - داده به قالب داخل پوشه
templatesارسال می شود. - قالب با تگ های جنگو HTML نهایی را برمی گرداند.
تاریخچه کوتاه جنگو
جنگو در 2003 برای یک روزنامه ساخته شد. انتشار عمومی در ژوئیه 2005 بود. نسخه 4.0.3 در مارس 2022 معرفی شد.
گام های پیشنهادی
- مطلب معرفی جنگو را به دقت بخوان.
- بعد به صفحه شروع کار برو.
- سپس Template، View، و URL را تمرین کن.
جمع بندی سریع
- جنگو از الگوی MVT پیروی می کند.
- ORM نوشتن SQL را کمتر می کند.
- ویو درخواست را مدیریت می کند.
- قالب داده را نمایش می دهد.
- URL مسیر هر ویو را تعیین می کند.