جنگو (Django) چیست؟

7739
جنگو (Django) چیست؟

اگر قصد دارید با استفاده از پایتون یک وب‌سایت بسازید، زمان آن فرا‌رسیده است که به فکر یک فریم‌ورک باشید. انتخاب کردن یک فریم‌ورک برای توسعه وب بسیار اهمیت دارد چرا که تعداد زیادی از آن‌ها در بازار وجود دارند که هر کدام برای رفع نیازهای متفاوتی از پروژه طراحی شده‌اند.

برای بسیاری از شرکت‌ها و پروژه‌های مستقل، فریم‌ورک جنگو (Django) که یکی از محبوب‌ترین ابزارهای توسعه وب به‌شمار می‌آید، می‌تواند یک انتخاب بدون دردسر باشد. همچنین تعداد شرکت‌هایی که به دنبال استخدام برنامه‌نویس جنگو هستند، روز به روز بیشتر می‌شود؛ اما چرا؟ در این مقاله می‌خواهیم بررسی کنیم که جنگو (Django) چیست؟ و چرا بسیاری از توسعه‌دهندگان در سراسر جهان از آن استفاده می‌کنند؟ پس تا انتها، همراه کوئرا بلاگ باشید.

شروع یادگیری جنگو

دوره «جامپ بک‌اند با جنگو» کوئرا کالج

ما در کوئرا کالج، یک دوره جامع و کامل آموزش جنگو آماده کرده‌ایم. شما در روند یادگیری می‌توانید از مربی‌های دوره کمک بگیرید و با حل تمرین‌ها و انجام پروژه‌های مختلف دانش خود را تثبیت کنید و در نهایت با اتمام دوره به شرکت‌ها برای استخدام معرفی شوید.

این دوره از بزرگ‌ترین دوره‌های کوئرا کالج است که حدود یک سال مشغول آماده‌سازی آن بوده‌ایم. این دوره شامل ۱۹ فصل است و بیش از صد درس‌نامه دارد. در روند طراحی، افراد زیادی دوره را بازبینی کرده‌اند و محتواهای تکمیلی از سمت شرکت‌ها هم در دوره قرار دارد تا شما با چالش‌های واقعی در صنعت هم آشنا شوید!

شما می‌توانید همین حالا اطلاعات تکمیلی در مورد دوره آموزش جنگو را از صفحه کوئرا کالج را کسب کرده و در این دوره ثبت‌نام کنید.

فریم‌ورک چیست؟

فریم‌ورک (Framework) چیزی نیست جز مجموعه‌ای از ماژول‌ها که کار توسعه را آسان‌تر می‌کند. فریم‌ورک‌ها به شما این امکان را می‌دهند که به جای اینکه برنامه‌ها و وب‌سایت‌ها را از ابتدا ایجاد کنید، با استفاده از یک منبع موجود و آماده این کار را انجام دهید.

اینگونه است که وب‌سایت‌ها – حتی وب‌سایت‌های ساده‌ای که توسط یک شخص طراحی شده‌اند – همچنان می‌توانند عملکردهای پیشرفته‌ای مانند پشتیبانی از احراز هویت، پنل‌های مدیریت و ادمین، فرم‌های تماس، بخش نظرات، پشتیبانی از آپلود فایل و… داشته باشند. به عبارت دیگر، اگر می‌خواستید از ابتدا یک وب‌سایت را طراحی کنید، باید خودتان تمام این اجزاء را توسعه می‌دادید. اما با استفاده از یک فریم‌ورک، این اجزاء از قبل ساخته شده‌اند، فقط باید آن‌ها را به‌درستی پیکربندی کنید تا با سایت شما مطابقت داشته باشند.

جنگو (Django) چیست؟

جنگو (Django) چیست؟
جنگو (Django) چیست؟

django یا جنگو، یک فریم‌ورک متن‌باز، رایگان و سطح بالای پایتون است که توسعه‌ی سریع و طراحی تمیز و کاربردی را برای برنامه‌های وب امکان‌پذیر می‌سازد. این فریم‌ورک که توسط توسعه‌دهندگانی باتجربه‌ ساخته شده است، بسیاری از دردسرهای توسعه وب را برطرف می‌کند؛ بنابراین بدون اینکه بخواهید همه‌چیز را از ابتدا کدنویسی کنید، می‌توانید بر روی نوشتن برنامه‌ی خود تمرکز کنید.

اکنون که می‌دانیم فریم‌ورک جنگو (Django) چیست؟ بیایید کمی در مورد تاریخچه Django صحبت کنیم:

جنگو در گذشته و حال

فریم‌ورک Django توسط Adrian Holovaty و Simon Willison توسعه‌دهندگانی که در روزنامه Lawrence Journal-World در کانزاس کار می‌کردند، طراحی شد. در آن زمان، آدریان و سایمون با PHP کدنویسی می‌کردند. اما از آنجایی که وب‌سایت آن‌ها نیاز به به‌روزرسانی سریع داشت، رسیدن به ددلاین‌ها دشوار بود. آدریان و سایمون به چیزی نیاز داشتند که بتوانند به‌سرعت وب‌سایت را با آن بسازند. آن وقت بود که آن‌ها تصمیم گرفتند از پایتون استفاده کنند.

آن‌ها بعدها شروع به کار بر روی جنگو کردند تا کدنویسی را ساده‌تر و مؤثرتر کنند. در سال 2005، جنگو به عنوان یک پروژه‌ی متن‌باز به صورت عمومی منتشر شد. زمانی که جامعه جنگو شکل گرفت، توسعه‌ی آن آغاز شد و تعداد وب‌سایت‌هایی که از جنگو استفاده می‌کردند به سرعت افزایش یافت. برخی از بهترین برنامه‌های ساخته‌شده با جنگو عبارت‌اند از Instagram ،Youtube ،Pinterest ،Dropbox و Spotify. هرساله برنامه‌های جدیدی به لیست سایت‌های ساخته شده با جنگو اضافه می‌شوند و شرکت‌های مختلفی نیز شروع به استخدام برنامه‌نویس جنگو می‌کنند. امروزه، جامعه‌ی Django بیش از 11000 توسعه‌دهنده از 166 کشور را با یکدیگر متحد کرده است.

بیشتر بخوانید: تاریخچه جنگو

چرا جنگو (Django) برای توسعه وب مناسب است؟

در میان فریم‌ورک‌های پایتون، Django اغلب به عنوان بهترین فریم‌ورک برای توسعه‌ی وب‌اپلیکیشن‌ها در نظر گرفته می‌شود. حتی در نظرسنجی توسعه‌دهندگان Stack Overflow در سال ۲۰۱۸ در لیست محبوب‌ترین فریم‌ورک‌ها قرار گرفت.

Django از اصل «دوباره انجامش نده (Don’t Repeat Yourself)» پیروی می‌کند و این، فریم‌ورک Django را از نظر راندمان زمانی کارآمد می‌کند. به عبارت دیگر، نیازی به بازنویسی کدهای موجود نیست؛ زیرا جنگو این امکان را به شما می‌دهد که وب‌سایت خود را مانند قطعات یک مجموعه لگو در کنار یکدیگر قرار دهید. این فریم‌ورک برای سیستم‌های با حجم بالای اطلاعات مناسب است و به لطف بسیاری از ابزار‌های کمکی می‌تواند زمان توسعه را کاهش دهد.

به گفته‌ی بنیاد نرم‌افزار جنگو (Django Software Foundation)، جنگو «برای رسیدن به ددلاین‌های فشرده‌ی خبرگزاری‌ها و درعین‌حال برآورده کردن الزامات سخت‌گیرانه‌ی توسعه‌دهندگانِ باتجربه، ساخته شد.» امروزه جنگو با شعار «The web framework for perfectionists with deadlines» شناخته می‌شود.

به لطف سینتکس ساده و خوانایی کد، برنامه‌های نوشته شده با جنگو تمیز و دارای ساختار مناسبی هستند. این امر به توسعه‌دهندگان کمک می‌کند تا ایده‌های خود را به واقعیت تبدیل کرده و الزامات را سریع‌تر برآورده کنند.

پیش نیازهای لازم برای یادگیری جنگو (django) چیست؟

برای شروع، باید بر زبان پایتون مسلط باشید. بنابراین اگر با این زبان آشنایی ندارید، ابتدا آموزش پایتون را شروع کنید و سپس به سراغ جنگو بروید در غیر این صورت یادگیری جنگو فایده چندانی برایتان نخواهد داشت.

اما ممکن است این سوال برایتان به وجود بیاید که آیا کار با جنگو نیازمند آشنایی با پایتون به صورت حرفه‌ای ست؟ پاسخ منفی است! کافی‌ست با مفاهیم پایه‌ی Python، از جمله متغیرها، انواع داده، کلاس‌ها و توابع، کنترل جریان و کنترل خطا آشنا باشید و بتوانید از pip برای نصب بسته‌ها و اجرای دستورات ابتدایی از خط فرمان استفاده کنید.

جنگو (Django) برای چه کارهایی مورد استفاده قرار می‌گیرد؟

جنگو (Django) چیست؟
جنگو (Django) چیست؟

فریم‌ورک Django نام خود را مدیون گیتاریست جاز، Django Reinhardt، است که با وجود اینکه دو انگشتش پس از یک تصادف فلج شده بود، می‌توانست با گیتار خود قطعه‌های خیره‌کننده‌ای را اجرا کند. فریم‌ورک جنگو نیز می‌تواند وظایف متعددی را انجام دهد. از Django می‌توان برای موارد زیر استفاده کرد:

  • سیستم‌های مدیریت ارتباط با مشتری (CRM)
  • سیستم‌های مدیریت محتوا (CMS) برای استفاده‌ی داخلی و تجاری
  • پلتفرم‌های ارتباطی
  • موتورهای رزرو
  • پلتفرم‌های مدیریت اسناد

ممکن است علاقه‌مند باشید: ترفندهای Numpy

Django برای موارد زیر نیز می‌تواند عالی باشد:

  • سیستم‌های تأیید هویت
  • سیستم‌های فیلترینگِ دارای قوانین متغیر پویا و پارامترهای پیشرفته
  • راهکارهای تجزیه و تحلیل داده‌ها و محاسبات پیچیده
  • یادگیری ماشین

ممکن است علاقه‌مند باشید: یادگیری ماشین چیست؟

آیا جنگو opinionated است؟

جنگو معمولا به عنوان یک فریمورک opinionated شناخته می‌شود. به این معنی که دارای توصیه‌ها و استانداردهای خاص خود برای ساخت و توسعه وب اپلیکیشن‌ها است. این استانداردها می‌توانند در مورد ساختار برنامه، نحوه‌ی تعریف مدل‌ها، ویوها و تمپلیت‌ها و یا نحوه‌ی کار با اجزای دیگر جنگو باشد.

با این حال، جنگو به اندازه‌ی بسیاری از فریمورک‌های دیگر نظیر Ruby on Rails، کاملا opinionated نیست و به برنامه‌نویسان انعطاف‌پذیری بیشتری در انتخاب روش‌ها و تکنیک‌های مختلف برای توسعه وب اپلیکیشن‌ها می‌دهد. به همین دلیل، جنگو را می‌توان یک فریمورک میانه بین opinionated و unopinionated دانست.

معماری MVT در جنگو چیست؟

معماری MVT که مخفف Model-View-Template است، معماری اصلی جنگو است که برای ساخت وب اپلیکیشن‌ها استفاده می‌شود. این معماری به طور کلی به سه بخش تقسیم می‌شود:

Model

در این بخش، تمامی کلاس‌ها و به طور کلی هر چیزی که با داده‌های دیتابیس ارتباط دارند تعریف می‌شوند. مدل‌ها برای مدیریت ساختار داده‌ها و روابط بین آن‌ها به کار می‌روند.

View

وظیفه‌ی اصلی این مولفه، دریافت درخواست‌های کاربران و پردازش آن‌هاست. ویوها همچنین مسئول انتخاب و پر کردن تمپلیت‌ها به منظور نمایش نتایج به کاربر هستند.

Template

از آن‌جایی که در معماری MVT، کتابخانه‌ی جنگو وظیفه Controller را بر عهده می‌گیرد، مولفه Template به وجود می‌آید. Template ها، قالب‌های HTML هستند که به کمک آن‌ها صفحات وب ایجاد می‌شوند. آن‌ها همچنین می‌توانند شامل تگ‌های جنگو و فیلترهایی برای انجام عملیات‌های پیچیده‌تر باشند.

با ما همراه باشید تا در ادامه‌ی پاسخ به سؤال جنگو (Django) چیست؟ در مورد مزایای استفاده از آن بیشتر توضیح دهیم.

مزایای فریم‌ورک جنگو (Django)

جامعه قدرتمند

جامعه‌ی بزرگی در اطراف Django تشکیل شده و هر روز مشتاقان بیشتری به آن می‌پیوندند. آن‌ها به‌طور مداوم اجزای فریم‌ورک را به‌روزرسانی کرده و آن را بهبود می‌بخشند و درعین‌حال کتابخانه‌های جدیدی را برای حل مشکلاتی که متخصصان اغلب هنگام توسعه‌ی برنامه‌های وب با آن مواجه می‌شوند، توسعه می‌دهند. علاوه بر این، زمانی که مشکلی در استفاده از جنگو داشته باشید، پاسخ خود را می‌توانید در جامعه قدرتمند Django جست‌و‌جو کنید.

پنل ادمین پیش‌فرض

پنل‌های ادمین برای کمک به مدیریت برنامه‌‌های شما طراحی شده‌اند. یک پنل ادمینِ جنگو به‌طور خودکار از کد پایتون تولید می‌شود، در حالی که ایجاد یک پنل ادمین به‌صورت دستی زمان زیادی می‌برد و انجام آن کاملاً بی‌معنی است.

به لطف برنامه‌های شخص ثالث، فضای زیادی برای سفارشی‌سازی در پنل ادمین جنگو وجود دارد. علاوه‌براین، Django به شما اجازه می‌دهد تا رابط کاربری را با استفاده از بسته‌های شخص ثالث تغییر داده و داشبوردهای منحصربه‌فردی را برای نیازهای خود به آن اضافه کنید.

مناسب برای سئو

جنگو تعدادی ابزار بهینه‌سازی موتورهای جست‌وجو (SEO) نیز ارائه می‌دهد. با فریم‌ورک سئوی جنگو، توسعه‌دهندگان می‌توانند با استفاده از قالب‌های کش‌شده و فشرده‌سازی CSS و جاوااسکریپت، زمان بارگذاری صفحه را کاهش دهند. حتی ابزاری برای مدیریت robots.txt نیز وجود دارد. در مجموع، قابلیت‌های سیستم مدیریت محتوای Django فراتر از انتظارات بسیاری از متخصصان سئو است.

کتابخانه‌ها

Django این امکان را به توسعه‌دهندگان می‌دهد که در هنگام ساخت هر پروژه‌ای بتوانند از کتابخانه‌ها استفاده کنند. برخی از کتابخانه‌های محبوب عبارت‌اند از: فریم‌ورک Django REST که مسئول ساخت رابط‌های برنامه‌نویسی اپلیکیشن (APIها) است، Django CMS که برای مدیریت محتوای وب‌سایت طراحی شده است، و Django-allauth که مجموعه‌ای یکپارچه از برنامه‌های جنگو برای احراز هویت، ثبت‌نام، مدیریت حساب و احراز هویت حساب کاربری شخص ثالث است.

ORM

نگاشت رابطه به شئ (Object-Relational Mapping یا ORM) در Django، با تعدادی از پایگاه‌های داده محبوب سازگار است، اما ویژگی اصلی آن این است که به توسعه‌دهندگان اجازه می‌دهد تا با چندین پایگاه داده به‌طور همزمان کار کنند. علاوه‌براین، جنگو امکان مهاجرت از یک پایگاه داده به پایگاه داده دیگر و انجام عملیات مشترک را بدون نیاز به نوشتن کد اضافی فراهم می‌کند.

Batteries included

رویکرد Batteries included در جنگو به این معنی است که این فریم‌ورک همه‌ی امکانات لازم برای توسعه‌ی یک برنامه‌ی کاربردی کامل را شامل می‌شود. Django قالب‌بندی HTML، مسیردهی URL، نگاشت رابطه به شئ (ORM) و مدیریت نشست را ارائه می‌دهد و این به توسعه‌دهندگان کمک می‌کند تا نیازی به جست‌وجوهای آزاردهنده برای ابزارهای شخص ثالث نداشته باشند. پکیج‌های جنگو به شما کمک می‌کنند تا به سرعت هر چیزی، از ربات‌های سخنگو گرفته تا راه‌حل‌های پیچیده‌ی مبتنی بر GPS را ایجاد کنید.

مقیاس‌پذیری

اجزای Django مستقل هستند، به این معنی که در صورت لزوم می‌توان آن‌ها را مانند قطعات لگو اضافه یا حذف کرد. بسته به نیازمندی‌های هر محصول، می‌توان مقیاس توسعه را افزایش یا کاهش داد و در صورت لزوم تعداد و پیچیدگی اجزای جنگو را تغییر داد.

امنیت بالا

Django به صورت پیش‌فرض از برنامه‌ها محافظت می‌کند. برخی از اشتباهات رایج امنیتی مرتبط با پایتون را کاهش می‌دهد و همچنین از برنامه‌ها در مقابل حملات اسکریپت بین‌سایتی، جعل درخواست و SQL injection محافظت می‌کند.

ممکن است علاقه‌مند باشید: آیا جنگو یک فریم‌‌ورک سریع است؟

چه زمانی از جنگو استفاده نکنیم؟

در بخش قبل بررسی کردیم که یک سری از دلایل استفاده از جنگو (django) چیست؛ و همان‌طور که می‌د انیم، جنگو مزایای زیادی دارد و بسیار محبوب است. اما سوال این‌جاست که چه زمانی از این فریم‌ورک استفاده نکنیم؟ در این جا به چند حالت می‌پردازیم که استفاده از جنگو به صرفه نیست.

  • اگر برنامه‌ی شما خیلی بزرگ است و نمی‌توانید همه چیز را در یک کد پایه نگه دارید.
  • می‌خواهید از میکروسرویس‌ها استفاده کنید. در این حالت بهتر است همه چیز را با جنگو( یا به طور کلی هر چیز دیگری به تنهایی) انجام ندهید و بهتر است هر لایه توسط یک تیم اختصاصی مدیریت شود. البته جنگو می‌تواند در برخی موارد به شما کمک کند.
  • می‌خواهید یک برنامه بسیار ساده ایجاد کنید که نیازی به پایگاه داده، عملیات فایل و یا هر چیز حتی کمی پیچیده ندارد. میکروفریمورک‌ها برای این کاربردها مناسب‌ترند. Flask یکی از محبوب‌ترین میکروفریمورک‌های پایتون است. میکروفریمورک‌های مشابهی در فناوری‌های دیگر نیز در دسترس هستند، مانند Slim در PHP و Apache Spark در جاوا و Express.js در Node.js و غیره.
  • اگر به هیچ عنوان با python آشنایی ندارید. که در این صورت بهتر است وقت و انرژی خود را روی استفاده از جنگو نگذارید

بیشتر بخوانید: لاراول یا جنگو؟

چه شرکت‌هایی از جنگو (Django) استفاده می‌کنند؟

جنگو (Django) چیست؟
جنگو (Django) چیست؟

سایت‌ها و برنامه‌های بسیاری بر پایه جنگو ساخته شده‌اند. بر اساس گزارشی از SimilarTech تا تاریخ می 2021، تعداد 83.359 وب‌سایت با جنگو ساخته شده است. بیایید نگاهی دقیق‌تر به بهترین و معروف‌ترین برنامه‌های ساخته‌شده با جنگو بیندازیم.

Instagram

از سال 2010 و زمانی که اینستاگرام شروع به کار کرد، در ساخت اینستاگرام از Django استفاده می‌شد. جنگو به Mike Krieger و Kevin Systrom، بنیان‌گذاران اینستاگرام کمک کرد تا اولین نسخه‌ی این برنامه را در مدتی حدود دو هفته توسعه دهند. به گفته‌ی Mike Krieger، شروع کار با جنگو بسیار آسان بود؛ زیرا نیازی به تصمیم‌گیری یا تنظیمات زیادی نداشت و آزمایش کردن را آسان می‌کرد. اینستاگرام به سرعت رشد کرد و این شرکت شروع به جست‌وجوی فناوری‌های جدید برای تقویت سیستم خود کرد. آن‌ها گزینه‌های مختلفی را در نظر گرفتند، اما در نهایت به این نتیجه رسیدند که این Python و Django است که از پس مقیاسِ کار آن‌ها برمی‌آید.

Dropbox

دراپ‌باکس یکی دیگر از نمونه‌های عالی Django است. دراپ‌باکس از ابتدا از پایتون به‌عنوان فناوری اصلی خود استفاده کرده است. آن‌ها تا‌کنون از چندین نسخه‌ی پایتون استفاده کرده‌اند و در حال حاضر نیز از نسخه‌ی سفارشی پایتون 3.5 استفاده می‌کنند. دراپ‌باکس با استفاده از جنگو، فایل‌ها را ذخیره و به اشتراک می‌گذارد، حساب‌های کاربری را در چندین دستگاه همگام‌سازی می‌کند و تاریخچه فایل‌ها را ارائه می‌کند.

Spotify

اسپاتیفای حاوی حجم وسیعی از داده‌ها است و کاربران را قادر می‌سازد تا بتوانند در هر دستگاهی به موسیقی گوش دهند. برای انجام این کار، اسپاتیفای از Python در کنار Django استفاده می‌کند.

Washington Post

جنگو که از ابتدا برای رسیدن به ددلاین‌های فشرده‌ی خبرگزاری‌ها ساخته شد، همچنان در میان اپلیکیشن‌های خبری محبوب است. یکی از بزرگ‌ترین نمونه‌های برنامه‌ی جنگو از این نوع، وب‌اپلیکیشن Washington Post، یکی از تأثیرگذارترین روزنامه‌های جهان، است. واشنگتن پست از فریم‌ورک جنگو برای مدیریت حجم بالای اطلاعات و ارائه عملکرد سریع و کارآمد استفاده می‌کند.

Mozilla

موزیلا فایرفاکس از ابتدا با پایتون ساخته نشده بود، بلکه PHP و CakePHP فناوری‌های مورد استفاده موزیلا بودند. اما با رشد آن، از آنجایی که مجبور بودند که روزانه با میلیون‌ها جست‌وجو سروکار داشته باشند، نیاز فوری به اتخاذ فناوری‌های جدید برای مدیریت ترافیک بالا و بهبود کارایی وجود داشت. اینجا بود که پایتون و جنگو وارد شدند. اکنون افزونه‌های مرورگر فایرفاکس و سایت پشتیبانی موزیلا با Django ساخته شده‌اند.

Pinterest

جنگو در میان پلتفرم‌های شبکه‌های اجتماعی محبوب است، زیرا از پس حجم عظیمی از داده‌ها برمی‌آید و می‌تواند در هر ثانیه تعامل هزاران کاربر را مدیریت کند. پینترست با داشتن 250 میلیون کاربر فعال، باید عملکردی عالی داشته باشد و درعین‌ حفظ کیفیت عملکرد، توانایی مقیاس‌پذیری بالایی را ارائه کند. پینترست با استفاده از Django این مسئله را مدیریت می‌کند و به کاربران خود اجازه می‌دهد تا یکدیگر را دنبال کرده و بردها و پین‌ها را به اشتراک بگذارند.

National Geographic

نشنال جئوگرافیک، سازمانی که متعهد به کاوش و حفاظت از دنیای ما است، نمونه‌ی عالی دیگری از استفاده از جنگو است. آن‌ها از جنگو برای ساخت یک CMS سفارشی برای مدیریت محتوای وب‌سایت خود، از تصاویر گرفته تا تبلیغات و ماژول‌ها، استفاده می‌کنند.

NASA

از آنجایی که امنیت، یکی از قدرتمندترین قابلیت‌های جنگو است، این فریم‌ورک نقش بزرگی در اپلیکیشن‌های دولتی و مراقبت‌های بهداشتی ایفا می‌کند. ناسا، سازمان ملی هوانوردی و فضایی ایالات متحده، از فریم‌ورک Django برای ارائه سایت خود به 2 میلیون بازدیدکننده‌ی خود در ماه استفاده می‌کند.

نصب جنگو

در این بخش می‌خواهیم بررسی کنیم که بهترین راه نصب جنگو (django) چیست. برای نصب جنگو، ابتدا باید پایتون را نصب کنیم که برای این کار به سایت اصلی پایتون مراجعه کرده و آخرین ورژن را دانلود و نصب می‌کنیم. فراموش نکنید که هنگام نصب پایتون گزینه Add Python to your path را تیک بزنید. در ادامه کافی‌ست دو مرحله را طی کنید.

نصب محیط مجازی

Command Prompt را باز کرده و دستور زیر را در آن اجرا می‌کنیم. با این کار Virtualnev را بر روی سیستم خود نصب می‌کنید. Virtualnev یکی از معروف‌ترین Virtual Environmentهاست.

pip install virtualenv

سپس برای پروژه خود یک فولدر ساخته و از طریق این دستور وارد پروژه شوید و محیط مجازی خود را فعال کنید.

python -m virtualenv Mydjango_env

Mydjango_env نام محیط مجازی ایجاد شده در فولدر مورد نظر است و می‌تواند هر چیز دیگری باشد. در ادامه تنها کافی‌ست محیط مجازی را فعال کنیم. که به این صورت این کار را انجام می‌دهیم.

.\ Mydjango_env\Scripts\activate.bat

نصب Django

برای نصب جنگو و پکیج‌های آن دستور زیر را وارد می‌کنیم.

pip install django

نصب جنگو در این جا به پایان می‌رسد و اگر نصب موفقیت‌آمیز باشد، می‌توانید دستور زیر را مشاهده کنید. که به شما نسخه نصب شه را نشان می‌دهد.


django-admin --version

ساخت اولین پروژه در جنگو

بعد از نصب جنگو، یک پروژه جدید ایجاد می کنید. در این پروژه یک فایل به نام views.py و یک فایل دیگر به نام models.py ایجاد می شود.

در فایل models.py شما کلاس ها و مدل های داده ای خود را تعریف می کنید. فرض کنید می خواهیم یک برنامه برای مدیریت مقالات داشته باشیم. پس یک کلاس مدل به نام Article با خصوصیات مثل عنوان، محتوا و تاریخ انتشار ایجاد می کنیم.

در فایل views.py، view هایی ایجاد می کنیم تا با مدل هایمان کار کنند. مثلا یک view برای نمایش لیست مقالات، یک view برای نمایش جزئیات یک مقاله و یک view برای ایجاد مقاله جدید.

سپس با استفاده از url ها، view ها را به url های مختلف اختصاص می دهیم. در نهایت با اجرای دستور «python manage.py runserver» سرور جنگو راه اندازی می شود و می توانید برنامه خود را مشاهده کنید!

جمع‌بندی

جنگو یک فریم‌ورکِ پایتونِ سریع، ایمن و مقیاس‌پذیر است که برای تسهیل فرآیند توسعه کاربران خود سرمایه‌گذاری بسیاری کرده است. فلسفه‌ی «دوباره انجامش نده» که جنگو براساس آن ساخته شده است، به توسعه‌دهندگان این امکان را می‌دهد تا از کدهایی که برای پروژه‌های دیگر خود نوشته‌اند مجدداً استفاده کنند و این امر زمان مورد نیاز برای توسعه‌ی محصول را کاهش می‌دهد.

در این مقاله ابتدا بررسی کردیم که جنگو (django) چیست؟ و سپس مواردی نظیر تاریخچه جنگو، کاربرهای جنگو، پیش‌نیازهای آن، معماری جنگو، مزایای استفاده از این فریم‌ورک و بازار کار آن و غیره را بررسی کردیم.

امیدواریم که این مقاله برایتان مفید بوده باشد. خوشحال می‌شویم تا سوالات خود درباره جنگو را برای ما کامنت کنید. و همچنین، نظرات خود را در مورد این مطلب با ما به اشتراک بگذارید و ما را در روند تولید مطالب باکیفیت‌تر همراهی کنید.

آموزش برنامه نویسی با کوئرا کالج
کوئرا بلاگ

ممکن است علاقه‌مند باشید
اشتراک در
اطلاع از
guest

0 دیدگاه‌
بازخورد (Feedback) های اینلاین
View all comments