تمام آنچه که باید در مورد فریمورک وب جنگو ( Django ) بدانید
ﺯﻣﺎﻥ ﻣﻄﺎﻟﻌﻪ: 9 دقیقه

تمام آنچه که باید در مورد فریمورک وب جنگو ( Django ) بدانید

جنگو ( django ) یک فریمورک وب متن باز و رایگان است که با استفاده از زبان پایتون نوشته شده و از الگوی MVT (Model View Template) پیروی می‌کند. همچنین توسط بنیاد نرم‌افزاری جنگو (DSF) که سازمانی مستقل است و به صورت بنیادی غیرانتفاعی تاسیس شده است، نگهداری و پشتیبانی می‌شود.

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

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

جنگو چگونه ایجاد شد؟

جنگو در پاییز سال 2003 توسط دو برنامه نویس وب که در روزنامه لارنس ژورنال کار می‌کردند - آدریان هولوواتی و سیمون ویلیسون - اختراع و ایجاد شد و شروع به استفاده از پایتون برای توسعه و ساخت برنامه‌های کاربردی کرد. این محصول در ژوئیه سال 2005 به همراه مجوز BSD در معرض دید عموم قرار گرفت. این فریمورک به نام گیتاریست Django Reinhardt نام‌گذاری شد.

در ژوئن 2008 اعلام شد که بنیاد جدید نرم‌افزار django (DSF) پشتیبانی و نگهداری از این فریمورک را در آینده انجام خواهد داد.

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

در مراحل زیر خواهید آموخت که چگونه کامپیوتر خود را به درستی پیکربندی کنیم تا برای پروژه‌های django کار کند؟

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

خط فرمان

خط فرمان یک محیط نمایش متن برای اجرای دستورات است. در سیستمعامل مک، خط فرمان در برنامه‌ای به نام Terminal شناخته می‌شود که در Applications / Utilities واقع شده است. برای شروع یک پنجره جدید Finder باز کنید، پوشه Applications را باز کنید، به سمت پایین اسکرول کنید تا پوشه ابزار باز شود و سپس روی برنامه با نام Terminal دوبار کلیک کنید.

در سیستمعامل ویندوز، یک برنامه خط فرمان داخلی وجود دارد که استفاده از آن دشوار است. توصیه می‌شود به جای آن از Babun استفاده کنید که یک برنامه خط فرمان رایگان و متن باز است. در صفحه اصلی Babun بر روی دکمه "Download now" کلیک کنید، روی فایل دانلود شده دوبار کلیک کرده تا نصب انجام شود. برای استفاده از آن به منوی Start بروید، Programs را انتخاب کنید و سپس بر روی Babun کلیک کنید.

وقتی Babun به "خط فرمان" اشاره می‌کند، قصد دارد با استفاده از Terminal یا Babun یک کنسول جدید در رایانه باز کند.

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

  • cd (تغییر دایرکتوری)
  • .. cd (بازگشت به دایرکتوری قبل)
  • ls (لیست فایل‌ها در دایرکتوری فعلی)
  • pwd (نمایش فهرست کار)
  • mkdir (ایجاد دایرکتوری)
  • touch (ایجاد یک رکورد جدید)

علامت $ خط فرمان اصلی است، یعنی دستورات دیگر همه بعد از $ نوشته می‌شوند.

نصب پایتون 3 روی ویندوز

ویندوز به طور پیش فرض پایتون را نصب نمی‌کند، با این حال می‌توان در صورت وجود یک نسخه در سیستمعامل آن را چک کرد. مراحل شامل باز کردن یک کنسول خط فرمان با وارد کردن دستور خاص در منوی استارت است. یا می‌توان کلید SHIFT را هنگام کلیک راست روی دسکتاپ نگه داشت و سپس Open Command Window را انتخاب کرد.

دستور زیر قرار است نوشته شود و بعد از آن به RETURN برسد.

پایتون

اگر خروجی مانند زیر را می‌بینید:

version Python 3.7.0

این بدان معناست که پایتون از قبل نصب شده است. به احتمال زیاد نسخه دیگری در دسترس نخواهد بود.

پس از بررسی پایتون، دستور زیر را در یک کنسول خط فرمان جدید اجرا کنید:

python –version Python 3.7.0

اگر این دستور کار کند، مراحل کمتری برای انجام خواهید داشت.

محیط‌های مجازی

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

با توجه به تاریخچه، توسعه دهندگان پایتون یا از virtualualenv یا pyenv برای پیکربندی محیط‌های مجازی استفاده کرده‌اند. اما اخیرا در سال 2017 توسعه دهنده برجسته پایتون، Kenneth Reitz، Pipenv را ایجاد و منتشر کرد که اکنون ابزار بسته‌بندی پایتون است و به طور رسمی توصیه می‌شود.

Pippen کاملا شبیه npm و نخ‌های اکوسیستم Node است. در Pippen یک فایل Zip شبیه وابستگی‌های نرم‌افزاری ساخته می‌شود و Pipfile.lock برای اطمینان از ساختارهای قطعی ایجاد شده است.

نتیجه یک محیط مجازی جدید است که Pipenv برای هر پروژه جدید جنگو ایجاد کرده است.

نصب جنگو

برای مشاهده Pipenv به صورت عملی، یک دایرکتوری جدید ایجاد می‌شود و سپس django نصب می‌شود. برای انجام آن ابتدا به دسکتاپ بروید، سپس یک لیست جدید "Django" ایجاد کنید و آن را با cd وارد کنید:

$ cd ~/Desktop $ mkdir Django $ cd Django

حالا از Pipenv برای نصب جنگو استفاده کنید.

$ piping install django==2.1

اگر کسی به دایرکتوری مراجعه کند، دو فایل جدید وجود دارد: Pipfile و Pipfile.lock. همچنین هیچ کس اطلاعات لازم برای محیط مجازی جدید را ندارد، زیرا هنوز فعال نشده است. فعال سازی هم از طریق استفاده از piping shell انجام می‌شود.

$ piping shell

لازم به ذکر است که به دلیل وجود یک باگ، کاربران ویندوز اغلب بازخورد تصویری محیط مجازی را نمی‌بینند. اما اگر کسی بتواند پروژه شروع Django-admin را در بخش بعدی اجرا کند، مطمئنا مشخص شده است که محیط مجازی جنگو را نصب کرده است.

(Django-JmZ1NTQw) $

نصب Git

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

ویرایشگرهای متن

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

توسعه دهندگان حرفه‌ای و باتجربه ترجیح می‌دهند از ویرایشگرهای فقط متنی با پیروی از Vim یا Emacs استفاده کنند. اگرچه هر یک شامل منحنی یادگیری با شیب تند هستند و نیاز به حفظ کردن کامل ترکیبات مختلف کلیدها دارند.

ویرایشگرهای متن مدرن اغلب ویژگی‌های قدرتمند مشابه را با یک رابط بصری عالی ترکیب می‌کنند. یکی از موارد دلخواه Visual Studio Code است که رایگان، همراه با نصب آسان و دارای محبوبیت کاملا گسترده‌ای است.

کاربردهای فریمورک جنگو

فریمورک برنامه نویسی جنگو به دلایل زیر برای ساخت برنامه‌های وب و تلفن همراه انتخاب شده است:

1. اولین دلیل توانایی آن در ارائه بهترین راه‌حل‌ها و نتایج به کاربران است.

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

3. django مناسب پروژه‌هایی با هر اندازه، از کوچکترین تا بزرگترین آنها است. به دلیل مقیاس پذیری خوبی که دارد، برای استارتاپ‌ها بسیار مناسب است. همچنین کمک بزرگی در مواجهه با صدها بازدید کننده در ثانیه مانند Disqus، Washington Post و موارد دیگر است.

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

جمع بندی

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

منبع

چه امتیازی برای این مقاله میدهید؟

خیلی بد
بد
متوسط
خوب
عالی
4 از 1 رای

/@erfanheshmati
عرفان حشمتی
Full-Stack Web Developer

کارشناس معماری سیستم های کامپیوتری، طراح و توسعه دهنده وب سایت، تولیدکننده محتوا

دیدگاه و پرسش

برای ارسال دیدگاه لازم است وارد شده یا ثبت‌نام کنید ورود یا ثبت‌نام

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید