در این بخش از آموزش جنگو، ابتدا به چیستی و تعریف django پرداخته شده است. جنگو یک فریموُرک وب سطح بالای پایتون است که فرایند توسعه سریع (Rapid Development)، شفاف و با طراحی کاربردی را امکانپذیر میسازد. یک چارچوب نرمافزاری اپلیکیشن وب django، مجموعهای از ابزارهای مبتنی بر قطعات (اجزاء | Component) برای رفع تمامی نیازمندیهای توسعه اپلیکیشن است. هدف اصلی فریمورک جنگو این است که به توسعهدهندگان اجازه داده شود به جای اتلاف وقت و انرژی روی قطعات توسعه داده شده فعلی، روی قطعات و اجزای جدید اپلیکیشن تمرکز داشته باشند.
Django توسط توسعهدهندگانی با تجربه ساخته شده است. به همین دلیل، جنگو از دردسرهای فراوان توسعه وب در امان مانده است؛ تا برنامهنویسان بتوانند بدون نیاز به «اختراع دوباره چرخ»، روی پروژه خود متمرکز شوند. جنگو رایگان و متنباز است. django نسبت به بسیاری از فریمورکهای دیگر، امکانات و ویژگیهای بیشتری دارد و بسیاری از دردسرهای توسعه وب را از سر راه برداشته است.
در ادامه مطلب آموزش جنگو تاریخچهای از چگونگی خلق و پیدایش جنگو توسط توسعهدهندگان آن بیان شده است.
جنگو در اوایل دهه هشتاد شمسی توسط آدرین هولواتی (Adrian Holovaty) و سایمون ویلیسون (Simon Willison) خلق شد. آنها django را زمانی ساختند که توسعه یک وب اپلیکیشن با پایتون را شروع کرده بودند. در آن زمان، آنها در روزنامه لارنس ژورنال (Lawrence Journal-World) کار میکردند. به گفته ویلیسون در Quora، در آن زمان و قبل از تحولات PHP5، هر دو آنها از تلاش برای نگهداری سایتهای بزرگ توسعه داده شده با PHP کلافه شده و علاقه شدیدی به پایتون پیدا کرده بودند.
مطلب پیشنهادی: راهنمای کامل و رایگان جنگو برای تازه کارها
ابزارهای توسعه وب با پایتون در آن زمان، با استانداردهای مورد انتظار هولواتی و ویلیسون سازگاری نداشتند. به همین دلیل، آنها تصمیم گرفتند که چارچوب نرمافزاری جنگو را توسعه دهند. جیکوب کاپلنماس (Jacob Kaplan-Moss) نیز در مراحل ابتدایی توسعه جنگو استخدام شد. django، حدوداً بعد از دو سال به صورت عمومی و تحت گواهینامه BSD منتشر شد. نام django، از جنگو راینهارت (Django Reinhardt)، نوازنده سرشناس گیتار برگرفته شده است.
در اوایل خرداد ۱۳۸۷، اعلام شد که «بنیاد نرمافزاری جنگو» (Django Software Foundation | DSF) به تازگی شکل گرفته است و این بنیاد، نگهداری جنگو را برعهده خواهد داشت. در ادامه مطلب آموزش جنگو و بخش «جنگو چیست»، به بیان کاربردهای رایج django برای درک بهتر اهمیت آموزش جنگو پرداخته شده است.
در این بخش از آموزش جنگو کاربردهای جنگو بیان میشود. جنگو به عنوان یک چارچوب نرمافزاری وب متنباز برای توسعه وبسایتهای سریع، کاربردی، نگهداشتپذیر (Maintainable)، ایمن و دارای طراحی ساختارمند به کار میرود. همانطور که گفته شد، برای اولین بار از جنگو در توسعه یک وب اپلیکیشن برای یک ناشر روزنامه استفاده شد.
در نتیجه، میتوان از جنگو انتظار داشت که در مدیریت پروژههایی با حجم متنی، فایلهای رسانهای و ترافیک بالا و یا هر چیزی که عملکردی شبیه به یک نشریه دورهای مبتنی بر وب داشته باشد، عملکرد قابل قبولی را از خود به نمایش بگذارد.
موضوع اصلی این مقاله در مورد مراحل اصلی مورد نیاز برای شروع یک پروسه تحت وب است. برای تکمیل این عملیات، ابتدا باید برنامه پایتون (Python) را نصب کنید و نحوه کار کردن با بسته مدیریتی این برنامه (pip) و محیط های مجازی را بلد باشید. البته برای انجام این کار نیازی نیست به شکل کامل برنامه نویسی بلد باشید، در همین حد که از نحوه کارکرد پایتون برای ایجاد چارچوب پروژه نهایی آگاهی داشته باشید، کافیست.
در پایان این مقاله آموزشی، شما با نحوه انجام موارد زیر آشنا خواهید شد:
از این مقاله می توانید به عنوان منبعی موثق برای ایجاد پروژه های بیشمار استفاده کنید و آنقدر این کار را تکرار کنید تا دستورات مهم و اصلی آن ملکه ذهنتان شود. اما قبل از هر چیز، یادگیری و اجرای مراحل زیر ضروری است. البته می توانید تمریناتی که در این مقاله داده شده است را انجام دهید تا مطالبی را که به صورت تئوری آموخته اید به مرحله اجرا در بیاورید.
برنامه هایی که با جنگو نوشته می شوند باید تا حد ممکن از طراحی تمیز استفاده کنند و همچنین فریمورک جنگو از امکانات پویا زبان پایتون مثل introspection استفاده می کند.
از اصولی که در حال حاضر می توانیم به عنوان یک امر مهم در طراحی وبسایت قلمداد کنیم توسعه با سرعت بالا است و اینکه نیاز نباشد برای هرگونه تغییری وقت زیادی را صرف کنیم. با استفاده از آموزش رایگان جنگو می توانیم توسعه سریع وبسایت ها را انجام دهیم.
از جمله اهداف فریمورک جنگو داشتن یک پشته با انسجام و اتصال قوی است. هر لایه در فریمورک جنگو نباید از لایه های دیگر اطلاع داشته باشد مگر اینکه ضروری باشد. مثلا وقتی قالب یک سایت را تغییر می دهیم نباید کاری با پایگاه داده ی نوشته ها و مقالات سایت کاری داشته باشیم و همینطور وقتی سئو وبسایت را بهینه سازی می کنیم نباید با نمایش صفحات سایت کاری داشته باشیم.
از جمله اولین ویژگی های ساختاری جنگو می توانیم به معماری MVC آن اشاره کرد که دارای نقشه بردار رابطه ای شیء یا ORM است. در این مدل معماری یک واسطه ای بین مدل های داده و بانک اطلاعاتی رابطی ایجاد می شود و همچنین سیستمی برای پردازش درخواست های HTTP با سیستم قالب های سایت تعبیه می شود. از مهمترین ویژگی های جنگو می توانیم به موارد زیر اشاره کنیم :
برای شروع پروژه جدید ساخت برنامه کاربردی با جانگو، ابتدا یک پوشه جدید بسازید و وارد آن شوید. ما همه دستورات وارد شده در این مطلب را در پوشه shell ایجاد می کنیم. حالا در این پوشه، با استفاده از فرمان زیر یک محیط مجازی جدید ایجاد کنید:
$ python3 -m venv env
این دستور محیط مجازی جدیدی با عنوان env در مسیر فعلی شما ایجاد می کند. بعد از این مرحله، باید محیط مجازی را با فرمان زیر فعال کنید:
$ python3 -m venv env
اگر فعال سازی با موفقیت انجام شود، شما باید نام محیط مجازی ساخته شده را (env) در ابتدای خط فرمان مشاهده کنید. مشاهده این نام به معنی تکمیل تنظیمات محیط مجازی شماست.
آموزش کار کردن در محیط مجازی با پایتون و نحوه انجام تنظیمات تکمیلی در این نرم افزار بسیار مفصل است، اما برای کار با جانگو، در همین حد کافی است. در ادامه می توانید بسته django را نصب کنید.
بعد از ایجاد و فعال سازی محیط مجازی در پایتون، می توانید برنامه جانگو را از طریق دستور زیر نصب کنید:
(env) $ python -m pip install django
این دستور پکیج django را با استفاده از بسته مدیریتی pip از لیست بسته های پایتون (PyPI) فراخوانی می کند. بعد از اینکه مراحل نصب به پایان رسید، می توانید ملزومات مورد نیاز را از مسیری که جانگو نصب شده است، شناسایی کنید:
(env) $ python -m pip freeze > requirements.txt
با اجرای این فرمان لیست اسامی و نسخه های تمامی بسته های خارجی پایتون که در محیط مجازی شما وجود دارند در قالب فایلی requirements.txt نمایش داده می شود. این فایل همچنین شامل بسته django و سایر متعلقات آن است.
نکته: نسخه های زیادی از برنامه جانگو ارائه شده است. معمولاً برای شروع یک پروژه جدید استفاده از آخرین نسخه نرم افزار بهترین گزینه است، اما شاید مجبور شوید برای پیاده سازی یک پروژه خاص از نسخه متفاوتی استفاده کنید. شما می توانید هر نسخه از جانگو را که می خواهید با آن کار کنید با اضافه کردن شماره آن نسخه در خط فرمان نصب کنید:
(env) $ python -m pip install django==2.2.11
با اجرای این دستور نسخه 2.2.11 جانگو جایگزین آخرین نسخه نصب شده در محیط مجازی شما خواهد شد. برای نصب آن، فقط کافیست عدد نسخه مورد نظرتان را بعد از علامت (==) و با فاصله از کلمه جانگو تایپ کنید.