از اصول پایتون تا معماریهای مدرن در جنگو ۶ | همهچیز برای تبدیل شدن به توسعه دهنده جنگو


۲۳۹۰+
کدآموز
۸۵+
تمرین عملی
۱۸۵+
درسنامه آموزشی
به همراه گواهی معتبر
۱۵۰ روز مهلت گذراندن دوره
از اصول پایتون تا معماریهای مدرن در جنگو ۶ | همهچیز برای تبدیل شدن به توسعه دهنده جنگو
۱۹۰,۰۰۰+
وبسایت مبتنی بر جنگو در سراسر دنیا
۲۵,۰۰۰,۰۰۰ تومان
میانگین حقوق آگهیهای شغلی کوئراتلنت برای تخصص جنگو
۹۸,۰۰۰ یورو
میانگین درآمد سالانه یک Django Developer در اروپا
محبوبترین
فریمورک وب مبتنی بر زبان پایتون
معرفی
حامیان
مخاطبین
پیشنیازها
سرفصلها
پروژهها
اساتید
0 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1
فریمورک جنگو که از معروفترین فریمورکهای توسعه وب بوده، به سرعت در حال رشد است. سادگی و انعطافپذیری، از ویژگیهای این فریمورک هستند. اگر به توسعهی بکاند علاقهمندید، در انتخاب دوره شک نکنید. در این دوره، فریمورک جنگو و زیر و بم آن را خواهید آموخت. همچنین با اصول توسعهی نرمافزار نیز آشنا خواهید شد که از موارد مورد نیاز برای ورود به بازار کار هستند.
این دوره مناسب شما است اگر...
• مشتاقید به بازار پردرآمد برنامهنویسی و حوزهی نرمافزار وارد شده و آیندهی شغلی خود را رقم بزنید.
• برای پروژههای شخصی، دانشگاهی و یا کاری خود نیاز به یادگیری سریع جنگو دارید.
• میخواهید جنگو را به صورت عملی و یکبار برای همیشه به شکل اصولی بیاموزید.
• علاقهمندید که رزومه کاری پُرباری برای خودتان بسازید تا بیشتر دیده شوید.
این دوره مناسب شما نیست اگر...
• تجربهی عملی چندین هزار خط کدنویسی برایتان ارزشی ندارد.
• هنوز برای آیندهی شغلیتان تصمیم جدی نگرفتهاید.
• حاضر نیستید در هفته ۱۰ ساعت برای یادگیری، پیشرفت و رشد درآمدتان زمان بگذارید.
• میخواهید جنگو را به طور سطحی و گذرا بیاموزید.
پیشنیازها
لازم است...
علاقه و پشتکار داشته باشید.
بر زبان پایتون مسلط باشید.
لازم نیست...
در رشتهی کامپیوتر تحصیل کرده باشید.
دانش ریاضی قوی داشته باشید.
درسنامه
ویدئو
تمرین
اهداف فصل
درسنامه
چرا وبفریمورکها؟
درسنامه
معرفی محیطهای مجازی
درسنامه
نصب جنگو
درسنامه
جنگو و پایگاهداده
درسنامه
فایلهای اولیه پروژه جنگو
درسنامه
اپهای جنگو
درسنامه
فایل تنظیمات
درسنامه
ریکوئست HTTP
درسنامه
موضوعات پیشنهادی
درسنامه
اهداف فصل
درسنامه
مدل چیست
درسنامه
تمرینهای کوئرا کالج
درسنامه
کتابخانهی سجاد
۱۰۰ امتیاز
تمرین
جنگو شِل
درسنامه
ساخت و حذف داده
درسنامه
روابط بین مدلها
درسنامه
رابطهی معکوس
درسنامه
ماشین بازی
۱۰۰ امتیاز
تمرین
توابع در مدلها
درسنامه
تابعکاری
۱۰۰ امتیاز
تمرین
اهداف فصل
درسنامه
آدرسدهی و URL
درسنامه
مدیریت URLها
درسنامه
وبسایت خوشرنج
۱۰۰ امتیاز
تمرین
مبدّل slug
درسنامه
مبدّل UUID
درسنامه
پاسخ به کلاینت
درسنامه
دامپزشکی جنگویی
۱۰۰ امتیاز
تمرین
روشهای دیباگ
درسنامه
اهداف فصل
درسنامه
مفهوم و کاربرد ORM
درسنامه
جنگو شِل
درسنامه
ساختار QuerySet
درسنامه
خواندن دادهها
درسنامه
جستوجو در فیلدها
درسنامه
کوئرا موبایل
۱۰۰ امتیاز
تمرین
توابع Aggregate و Annotate
درسنامه
باقر تحلیلگر
۱۰۰ امتیاز
تمرین
کوئریهای پیچیدهتر با Q و F
درسنامه
فیلترهای پیشرفته
۱۰۰ امتیاز
تمرین
روابط چندبهچند
درسنامه
باقرگِرام
۱۰۰ امتیاز
تمرین
مشکل N+1 کوئری
درسنامه
باقرگِرام پرو مکس
۱۰۰ امتیاز
تمرین
منیجر سفارشی
درسنامه
حذف یواش
۲۰۰ امتیاز
تمرین
اهداف فصل
درسنامه
انواع ریکوئستهای وب
درسنامه
کدهای وضعیت
درسنامه
آشنایی با شیء request
درسنامه
ریکوئست GET
درسنامه
کتابیاب سجاد
۱۰۰ امتیاز
تمرین
ریکوئست POST
درسنامه
آشنایی با Postman
درسنامه
مدیریت فایلها
درسنامه
واچلیست سجاد
۱۰۰ امتیاز
تمرین
ریکوئست PUT و PATCH
درسنامه
واچلیست سجاد+
۱۰۰ امتیاز
تمرین
ریکوئست DELETE
درسنامه
واچلیست سجاد-
۱۰۰ امتیاز
تمرین
مدیریت فایلها (۲)
درسنامه
آرشیو موسیقی سجاد
۱۰۰ امتیاز
تمرین
موضوعات پیشنهادی
درسنامه
اهداف فصل
درسنامه
آشنایی با تمپلیتها
درسنامه
اتصال ویو به تمپلیت
درسنامه
نمایش دورهها
۱۰۰ امتیاز
تمرین
فایلهای Static
درسنامه
نامگذاری مسیرها
درسنامه
ممد اخراج شد!
۱۰۰ امتیاز
تمرین
تگها
درسنامه
شرطها و حلقهها
درسنامه
حلقهی شرطی
۱۰۰ امتیاز
تمرین
ارثبری
درسنامه
Partialها
درسنامه
ارث ببر
۱۰۰ امتیاز
تمرین
فیلترها
درسنامه
زیبا و خوانا
۱۰۰ امتیاز
تمرین
ساخت فیلتر و تگ سفارشی
درسنامه
اهداف فصل
درسنامه
فرم
درسنامه
کلاس Form
درسنامه
چاق یا لاغر؟
۱۰۰ امتیاز
تمرین
اعتبارسنجی
درسنامه
کار با گیت برای ارسال تمارین
درسنامه
ورزش کن!
۱۰۰ امتیاز
تمرین
کلاس ModelForm
درسنامه
برنامههای باشگاه
۱۰۰ امتیاز
تمرین
فرمهای Crispy
درسنامه
اهداف فصل
درسنامه
مروی بر ویوهای تابعی
درسنامه
ویوهای کلاسی (CBV)
درسنامه
پیامها (Messages)
درسنامه
استوریبرد ممد
۱۰۰ امتیاز
تمرین
جنریک ویوهای نمایشی
درسنامه
ممد باکَلاس
۱۰۰ امتیاز
تمرین
جنریک ویوهای ساختاری
درسنامه
همکار بیکَلاس
۱۰۰ امتیاز
تمرین
کلاسهای میکسین (Mixin)
درسنامه
اهداف فصل
درسنامه
ادمین جنگو
درسنامه
کار با ادمین جنگو
درسنامه
شخصیسازی ادمین
درسنامه
تصرف کوئرا استور!
۱۰۰ امتیاز
تمرین
موارد پیشرفتهتر ادمین جنگو
درسنامه
تصرّف شدیدتر
۱۰۰ امتیاز
تمرین
آشنایی با یوزر جنگو
درسنامه
مدل کاربر سفارشی
درسنامه
سشن (Session)
درسنامه
احراز هویت با سشن
درسنامه
سامانهی جاسوسی
۱۰۰ امتیاز
تمرین
پرمیشنهای اضافه و حذف
درسنامه
پرمیشنهای مشاهده و ویرایش
درسنامه
گروهها (Groups)
درسنامه
نورتگیت
۲۰۰ امتیاز
تمرین
شخصیسازی پنل ادمین
درسنامه
توسعهی پروژه
درسنامه
تنظیمات اولیهی پروژه
۱۰۰ امتیاز
تمرین
کاربر سفارشی و ادمین
۱۵۰ امتیاز
تمرین
ورکاسپیس و عضویت
۲۰۰ امتیاز
تمرین
مشتریها
۲۵۰ امتیاز
تمرین
پروژهها
۱۵۰ امتیاز
تمرین
برچسبها
۱۵۰ امتیاز
تمرین
ورودیهای زمان
۲۵۰ امتیاز
تمرین
کنترل دسترسیها
۱۵۰ امتیاز
تمرین
صفحات عمومی
۱۵۰ امتیاز
تمرین
تماس با ما
۲۰۰ امتیاز
تمرین
پروفایل و احرازهویت
۲۵۰ امتیاز
تمرین
داشبورد پیشنمایش
۱۵۰ امتیاز
تمرین
شخصیسازی پنل ادمین
۱۰۰ امتیاز
تمرین
اهداف فصل
درسنامه
آشنایی با API
درسنامه
انواع معماری API
درسنامه
معرفی REST framework
درسنامه
ویوهای تابعی (FBV)
درسنامه
پروفایل ممد
۱۰۰ امتیاز
تمرین
سریالایزرها
درسنامه
کلاس Serializer
درسنامه
مترجم ممد
۱۰۰ امتیاز
تمرین
کلاس ModelSerializer
درسنامه
رادیو کوئرا
۱۵۰ امتیاز
تمرین
ویوهای کلاسی (CBV)
درسنامه
کلاس APIView
درسنامه
رادیو کوئرا +
۱۵۰ امتیاز
تمرین
جنریک ویوها
درسنامه
انبارداری کوئرا
۱۰۰ امتیاز
تمرین
جنریک ویوهای ترکیبی
درسنامه
انبارداری کوئرا +
۱۵۰ امتیاز
تمرین
معرفی ViewSetها
درسنامه
انبارسِت کوئرا
۱۰۰ امتیاز
تمرین
انواع ViewSetها
درسنامه
آشنایی با Pagination
درسنامه
انبارسِت پیشرفته کوئرا
۱۵۰ امتیاز
تمرین
روشهای احراز هویت
درسنامه
احراز هویت با JWT
درسنامه
احراز هویت ساده!
۱۰۰ امتیاز
تمرین
پرمیشنها
درسنامه
یادداشتهای من
۱۰۰ امتیاز
تمرین
اهداف فصل
درسنامه
تستنویسی
درسنامه
مفاهیم پایه
درسنامه
آزمونک
۱۰۰ امتیاز
تمرین
تستنویسی در پایتون
درسنامه
کلاسهای تست در جنگو
درسنامه
تستهای واحد
درسنامه
فروشگاه ممد
۱۰۰ امتیاز
تمرین
تستهای Integration
درسنامه
قهر درگاه پرداخت
۱۰۰ امتیاز
تمرین
تستهای E2E
درسنامه
تستهای پرفورمنس
درسنامه
آرامش قبل از طوفان!
۱۰۰ امتیاز
تمرین
پوشش تست
درسنامه
پوشش دردسرساز
۱۰۰ امتیاز
تمرین
اهداف فصل
درسنامه
همزمانی و موازیسازی
درسنامه
Thread و Process
درسنامه
Async در پایتون
درسنامه
ممد ناهمگام
۱۰۰ امتیاز
تمرین
سوکت و وبسوکت
درسنامه
نخ و سوکت
۱۰۰ امتیاز
تمرین
WSGI در برابر ASGI
درسنامه
Async در جنگو
درسنامه
آپلودسنتر ابری
۱۰۰ امتیاز
تمرین
وبسوکت در جنگو
درسنامه
پیادهسازی چت ساده
درسنامه
پینگپونگ
۲۰۰ امتیاز
تمرین
تسکهای پسزمینه
درسنامه
Celery و Redis
درسنامه
سلریچی
۱۰۰ امتیاز
تمرین
Server-Sent Events
درسنامه
اهداف فصل
درسنامه
Throttling
درسنامه
Cache
درسنامه
نجات سرور
۱۰۰ امتیاز
تمرین
فیلتر پیشرفته
درسنامه
یک فهرست شلوغ
۱۰۰ امتیاز
تمرین
میدلور
درسنامه
میدلورهای سفارشی
درسنامه
پروفایلم کو؟
۲۰۰ امتیاز
تمرین
مایگریشن
درسنامه
مایگریشنهای سفارشی
درسنامه
نجات پایگاهداده
۱۰۰ امتیاز
تمرین
سیگنالها
درسنامه
پابان کارهای تکراری
۲۵۰ امتیاز
تمرین
کِی سیگنال؟
درسنامه
اهداف فصل
درسنامه
کوکی و سِشِن
درسنامه
پایگاهداده
درسنامه
مستندسازی APIها
درسنامه
نسخهبندی APIها
درسنامه
اصول SOLID
درسنامه
الگوهای طراحی
درسنامه
کاپلینگ و کوهیژن
درسنامه
مکانیزم CORS
درسنامه
سیاستهای CSP
درسنامه
لاگینگ
درسنامه
مانیتورینگ
درسنامه
مقدمات شروع فاز دوم پروژه
درسنامه
حسابکاربری و احرازهویت
۳۵۰ امتیاز
تمرین
صفحهبندی APIها
۱۵۰ امتیاز
تمرین
محدودسازی درخواستها
۲۰۰ امتیاز
تمرین
تنظیمات Celery و Redis
۲۰۰ امتیاز
تمرین
اعلانها
۳۰۰ امتیاز
تمرین
جریان زنده با SSE
۲۵۰ امتیاز
تمرین
تسکهای اعلان
۲۰۰ امتیاز
تمرین
پاکسازی اعلانها
۱۵۰ امتیاز
تمرین
ورکاسپیسها و عضویت
۳۵۰ امتیاز
تمرین
مشتریها
۲۵۰ امتیاز
تمرین
برچسبها
۲۰۰ امتیاز
تمرین
پروژهها
۳۰۰ امتیاز
تمرین
تایمر ثبت زمان
۳۵۰ امتیاز
تمرین
تایمشیت
۲۵۰ امتیاز
تمرین
فیلتر و جستوجو
۲۵۰ امتیاز
تمرین
کش
۲۰۰ امتیاز
تمرین
اهداف فصل
درسنامه
مقدمهای بر دیپلوی
درسنامه
پیکربندی محیط پروداکشن
درسنامه
متغیرهای محیطی
درسنامه
داکرایز کردن پروژه
درسنامه
ارکستریشن با داکر کامپوز
درسنامه
پیکربندی Gunicorn
درسنامه
پیکربندی Nginx
درسنامه
دیپلوی Celery
درسنامه
دیپلوی Celery Beat
درسنامه
پیکربندی PostgreSQL
درسنامه
پیکربندی Redis
درسنامه
مدیریت فایلهای Static و Media
درسنامه
پیکربندی SSL/TLS
درسنامه
پیکربندی Sentry و ELK
درسنامه
پیکربندی پایپلاین CI/CD
درسنامه
آشنایی با خدمات ابری لیارا
درسنامه
آشنایی با خدمات ابری همروش
درسنامه
آشنایی با خدمات ابری ابرآروان
درسنامه
APIهای سریع در یکتانت
درسنامه
مدیریت سشنها در کوئرا
درسنامه
ارتباط کوئرا با سرویس داوری
درسنامه
وبسوکتها در کوئرا کالج
درسنامه
ساخت API با GraphQL در سحاب
درسنامه
ساخت API با GraphQL در سحاب ۲
درسنامه
اهداف فصل
درسنامه
وبینار اول - بررسی مدلها
درسنامه
وبینار اول - برررسی URLها
درسنامه
وبینار اول - بررسی ویوها
درسنامه
وبینار اول - پرسش و پاسخ
درسنامه

جامپ بکاند با جنگو
۸۵+ تمرین عملی
۱۸۵+ درسنامه آموزشی
سوالات متداول
پیشنیاز این دوره، تسلط به زبان پایتون است.
اگر هنوز به این زبان مسلط نیستید، پیشنهاد میکنیم پیش از شروع این دوره، دورهٔ «برنامهنویسی پایتون پیشرفته و تفکر شیگرا» را بگذرانید.
خیر؛ نیازی نیست!
اگر پیشنیاز دوره (تسلط به زبان پایتون) را داشته باشید، میتوانید در این دوره شرکت کنید.
بله؛ شما میتوانید از درسنامههایی که بلد هستید سریع بگذرید، اما در نکات گفته شده در درسنامهها موارد بسیاری وجود دارد که میتواند دانش شما را تکمیل کند؛ پس پیشنهاد میکنیم که آنها را هم مطالعه کنید.
همچنین حتما میدانید که هرچقدر در برنامهنویسی تمرین کنیم، باز هم کافی نیست؛ پس پیشنهاد میکنیم که تمرینات مربوط به این مباحث را نیز حل کنید تا یادگیری کاملی داشته باشید.
محتوای دوره به صورت درسنامههای متنی و در بعضی قسمتها ویدیوهای آموزشی میباشد.
پس از درسنامهها، نوبت به تمرین و حل مسئله میرسد. تعدادی تمرین مطرح میشود که شما دستورات آنها را نوشته و ارسال میکنید. سامانه داوری خودکار Quera در مدت کوتاهی کد شما را تصحیح میکند و نمره میدهد.
در صورتی که نمرهٔ کامل نگرفتید نگران نباشید، میتوانید کد خود را تغییر دهید و دوباره ارسال کنید.
در طول این دوره تمرینهای متعددی وجود دارد تا شما با انجام آنها، مهارت خود را تقویت کنید.
در کنار این تمرینها، داوری آنلاین نیز وجود دارد. یعنی کد ارسالی شما در همان لحظه توسط سیستم، داوری و امتیازدهی میشود تا اشکالاتتان را پیدا کرده و آنها را رفع کنید.
در این دوره در قالب دو فصل، قسمت بکاند سیستم مرکز خیریه که خیرین و نیازمندان در آن ثبتنام میکنند و کارهایشان را انجام میدهند را پیادهسازی میکنید. بعد از اتمام پیادهسازی میتوانید آن را به قسمت فرانتاند که در اختیارتان قرار میگیرد، وصل کنید.
همچنین در فصل دیپلوی یاد خواهید گرفت که چگونه پروژهتان را بر روی فضای وب قرار دهید و آن را روی زیرساخت داده شده دیپلوی میکنید. به این ترتیب میتوانید یک پروژه کامل به عنوان نمونهکار داشته باشید و از آن در رزومهتان استفاده کنید!
شما بعد از رسیدن به فصل «آشنایی با ویو»، ۱۵۰ روز فرصت دارید تا دوره را به اتمام برسانید و بعد از اتمام دوره برای همیشه به تمام محتواهای دوره دسترسی خواهید داشت.
همچنین اگر تا انتهای زمانِ گفتهشده نتوانستید دوره را تمام کنید نگران نباشید، چون امکان تمدید دوره وجود دارد!
در انتهای دوره، با کسب تجربه عملی بر روی پروژه واقعی و حل تمرینها به کمک مربیها، آماده استخدام به عنوان توسعهدهنده بکاند میشوید.
اگر جزء افرادی هستید که با زبان برنامهنویسی پایتون کار میکنند، احتمالا تا الان علاقمند شدهاید که از این زبان برای ایجاد یک وبسایت استفاده کنید. ممکن است با فریمورک جنگو آشنایی داشته و یا ضرورت یادگیری آن را حس کرده باشید. در ادامه دلایل اهمیت یادگیری و آموزش جنگو را با شما به اشتراک گذاشتهایم.
جنگو (Django) یک فریمورک پایتونی است که از آن برای ایجاد وبسایتهای مختلف استفاده میشود.
اساسا فریمورک ساختاری است که براساس یک معماری خاص و با استفاده از یک زبان برنامهنویسی به همراه یک سری کتابخانه و کد ایجاد میشود و به ما این اجازه را میدهد که با استفاده از امکاناتی که در اختیار ما قرار میدهد، سریعتر به هدف موردنظر خود برسیم.
فرض کنید که قرار است از زبان پایتون برای ایجاد یک وبسایت استفاده کنید، اگر از فریمورک جنگو استفاده نکنید، مجبور خواهید بود هر چیزی که جنگو بهصورت آماده در اختیارتان قرار میدهد را خودتان از ابتدا پیادهسازی کنید.
این موضوع قطعا باعث کند شدن روند توسعه پروژه شما میشود. همچنین با توجه به اینکه فقط خودتان یا افراد معدودی در حال توسعه پروژه هستید، باگهای ناخواسته زیادی در پروژه شما ایجاد میشود.
در مقابل، توسعه فریمورکی مثل جنگو بهدلیل اوپن سورس بودن، توسط چندین هزار برنامهنویس انجام میشود و درصورتیکه باگی وجود داشته باشد، سریعا برطرف میشود. همچنین بدون اینکه نیاز به دوبارهنویسی خیلی از بخشها داشته باشید، میتوانید بهسادگی از ویژگیهای جنگو استفاده کرده و بخش موردنظر خود را در پروژه پیاده کنید.
در طول آموزش جنگو عملا مشاهده خواهید کرد که چگونه جنگو به شما کمک میکند تا وبسایتهایی که در ذهن دارید را بهسرعت، پیادهسازی کنید.
پیش از شروع آموزش جنگو بد نیست کمی درباره تاریخچه آن نیز اطلاعات داشته باشید. جنگو که در ابتدا یک پروژه داخلی در روزنامه Lawrence Journal-World بود، در سال 2003 توسط Adrian Holovaty و Simon Willison شکل گرفت.
این پلتفرم برنامهنویسی در جولای سال 2005 به بازار عرضه و به یاد موسیقیدان و نوازندهای به نام Django Reinhardt، Django نامیده شد. جنگو در همان سال، عملا نشان داد که بهراحتی توانایی مدیریت سایتهای پرترافیک را دارد.
در حال حاضر جنگو یکی از پروژههای برنامهنویسی متنباز محسوب میشود که برنامهنویسان و توسعهدهندگان زیادی از سراسر دنیا، برای افزودن قابلیتهای نرمافزاری جدید به آن تلاش میکنند.
ازجمله مهمترین اصول فلسفه طراحی کتابخانه جنگو، میتوان به موارد زیر اشاره کرد.
جنگو بهگونهای طراحی شده است که هرکدام از عناصر و مؤلفههای آن، از یکدیگر استقلال نسبی داشته باشند.
کدنویسی کمتر در جنگو، مترادف با چرخه سریعتر توسعه نرمافزار خواهد بود.
در برنامهنویسی وب، توسط جنگو، توصیه میشود که هرکدام از ماژولهای برنامه، بهجای اینکه در بخشهای مختلف برنامه کاربردی تحتوب تکرار شوند، تنها در یک بخش نوشته شوند.
جنگو به برنامهنویسان و توسعهدهندگان اجازه میدهد تا در کوتاهترین زمان ممکن، برنامههای کاربردی را توسعه دهند.
کدهای برنامهنویسی جنگو در پایتون، بسیار خوانا و تمیز طراحی شدهاند. جنگو برنامهنویسان و توسعهدهندگان را تشویق میکند تا از قواعد استاندارد توسعه برنامههای کاربردی تحت وب تبعیت کنند.
یکی از موضوعاتی که پیش از شروع آموزش جنگو میتواند برای شما جذاب باشد، مزایای استفاده از این فریمورک است.
جنگو به همه موارد لازم در توسعه اپلیکیشن توجه کرده است و با ارائه مستندات مفصل و استانداردهای طراحی اصولی، برنامهنویسان را در همه جوانب روند توسعه وب یا اپلیکیشن پشتیبانی میکند. استفاده از جنگو در برنامهنویسی پلتفرمهای کسبوکارهای امروزی بسیار رایج است، زیرا میتواند خیال آنها را از بابت روند روبهگسترش پلتفرمهای آنلاینی که دارند، راحت کند.
جنگو با شعار انجام کارهای درست طراحی شده است و در حوزه امنیت، شما را از بسیاری از اشتباهات رایج امنیتی دور نگه میدارد. اگر از جنگو استفاده میکنید، نگران مواردی مانند امنیت حسابهای کاربری و اطلاعات کاربران ورودی (Session) نباشید.
جنگو به زبان پایتون نوشته شده است و به همین دلیل مستقل از سرور، بر روی سیستمهای مختلفی مانند ویندوز، لینوکس، مک و... قابلاجرا است. همچنین این فریمورک، بهخوبی توسط تأمینکنندگان خدمات میزبانی وب پشتیبانی میشود.
برای ساخت انواع سایتها در زمینههای تولید محتوا، خبری، رسانههای اجتماعی و... میتوان از جنگو استفاده کرد. این فریمورک با فریمورکهای سمت کاربر (Client-Side) تعامل زیادی دارد و توانایی تبدیل محتوا در فرمتهای مختلف HTML، JSON، XML و... را دارد.
جنگو قابلیت استفاده چندباره از کدها را فراهم کرده است و با جلوگیری از نوشتن کدهای تکراری، به میزان زیادی حجم کدها را کاهش میدهد. جنگو همچنین قابلیت گروهبندی کدهای مرتبط در یک ماژول را برای استفاده مجدد دارد.
این فریمورک قدرتمند توانایی پشتیبانی و توسعه پروژههای کوچک و تبدیل آنها به پروژههایی با ترافیک و حجم بالای اطلاعات را دارد. شرکتهای مطرح جهان برای توسعه بسیاری از ایدههای خود، جنگو را انتخاب میکنند.
جنگو از پایگاههای داده زیادی مانند MySql، Oracle، SQLite و... پشتیبانی میکند و باتوجهبه نوع پروژه، امکان استفاده از چندین پایگاه داده را بهطور همزمان فراهم میکند. جنگو در سئوی وبسایتها نیز کمک بسیاری میکند. آدرس صفحات در جنگو به شکل URL است و این مسئله باعث بهینهسازی سایت و بهبود سئو میشود.
برنامهنویسان زیادی در سراسر دنیا از جنگو استفاده میکنند. بنابراین سایتها و کانالهای ارتباطی زیادی وجود دارند که میتوانید از تجربه سایر کاربران در آنها استفاده کرده و سطح پروژه خود را ارتقا دهید و یا درصورت بروز مشکل، بهراحتی آن را حل کنید.
بااینکه Django یک فریمورک فوقالعاده است، اما معایبی هم دارد که ممکن است برای شما مشکلآفرین باشد و یا نباشد.
سیستم ORM ارائه شده توسط Django کار با چندین دیتابیس و انجام عملیات مشترک پایگاه داده را برای توسعه دهندگان سادهتر میکند.
اگرچه این سیستم مورد استفاده توسط فریمورک وب، از ویژگیهای قدرتمند تعبیه شده توسط سایر سیستمهای ORM که به طور گسترده استفاده میشوند، برخوردار نیست. همچنین به توسعه دهندگان اجازه نمیدهد که به طور کامل از جعبه ابزار کامل Python SQL بهره مند شوند.
سؤالی که در توضیح ضرورت یادگیری و آموزش جنگو پیش میآید این است که درعمل جنگو چه کاربردی دارد.
همان طور که گفته شد هدف استفاده از جنگو، سادهسازی فرآیند طراحی وب و اپلیکیشن است. دو استراتژی مهم در جنگو قابلیت توسعه سریع و فلسفه دوباره انجامش نده (Do not Repeat Yourself) هستند. توسعه سریع به این معنی است که میتوان چند بخش از پروژه را بهطور همزمان انجام داد و فلسفه DRY به معنی استفاده مجدد از کدها به منظور کاهش حجم کدهای تکراری است.
این فریمورک پیوسته درحال بهروزرسانی است و پکیجهای خود را در اختیار کاربران قرار میدهد تا تجربه خوبی در استفاده از جنگو داشته باشند و از تغییرات آن اذیت نشوند. جنگو ساختاری منعطف و البته سنگین دارد و بااینکه در انواع پروژهها قابلاستفاده است، اما بیشتر مناسب پروژههایی است که قصد توسعه و گسترش دارند. بنابراین ممکن است استفاده از جنگو برای پروژههای موقت و کوچک، بهینه نباشد. بسیاری از اپلیکیشنهای مطرح جهان مانند اینستاگرام، پینترست، یوتیوب و... بر پایه این فریمورک طراحی شدهاند.
برای استفاده از فریمورک جنگو باید با زبان پایتون و توابع آن آشنایی داشته باشید. همچنین آشنایی با مواردی مانند ساختار ذخیره دادهها در پایتون مانند Tuple، List و...، مفاهیم برنامهنویسی شیءگرا، JSON و REST APIs و مدیریت پایگاه داده و دستورات SQL برای یادگیری جنگو ضروری است. پایتون در حوزههای مختلف تکنولوژی کاربردهای فراوانی دارد و یادگیری فریمورک قدرتمندی مانند جنگو، میتواند موقعیتهای شغلی فراوانی را برای شما فراهم کند.
برای استفاده از فریمورک جنگو باید با مفاهیم و توابع پایتون آشنایی داشته باشید. برای شروع پیشنهاد میکنیم تا از دورههای آموزش پایتون کوئرا کالج شروع کنید.
اگر هنوز با اصول برنامهنویسی آشنا نیستید، پیشنهاد میکنیم که ابتدا از آموزش برنامه نویسی شروع کنید تا درک بهتری از مفاهیم پایه داشته باشید.