آموزش جنگو (Django)

دسته بندی: آموزش پایتون (Python)

آموزش جنگو

آنچه در این صفحه می خوانید:

معرفی جنگو (Django)

Django فریمورک وب رایگان و اوپن سورس مبتنی بر پایتون است، که از الگوی معماری model-template-view یا به اختصار MTV استفاده می کند. Django توسط مؤسسه توسط بنیاد نرم افزار (DSF) نگهداری می شود. هدف اصلی جنگو، سهولت در ایجاد وب سایت های پیچیده و پایگاه داده محور است. این فریمورک بر قابلیت استفاده مجدد و قابلیت اتصال به کامپوننت، کد نویسی کمتر، اتصال سست، توسعه سریع و اصل خودت را تکرار نکن (DRY) تأکید دارد.

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

جنگو فریمورک توسعه وب است که در ایجاد و حفظ برنامه های کاربردی وب با کیفیت کمک می کند. جنگو وظایف تکراری را حذف می کند تا فرآیند توسعه را آسان و در مصرف زمان صرفه جویی کند. Django فریمورک وب سطح بالا در پایتون است که باعث طراحی وب تمیز، سریع و کارآمد می شود. با جنگو می توان به سرعت و به سهولت و با کدنویسی کمتر برنامه نویسی کرد. چرا که در آن کد های مربوط به model و controller یا bussiness logic و view از هم جدا می باشند. از آنجایی که این فریمورک توسط زبان پایتون نوشته شده است پس دارای ویژگی های این زبان نیز می باشد. جنگو سهولت در تعریف متغیر ها، متا پروگرمینگ (meta-programming) و امنیت بالایی را فراهم می سازد.

تاریخچه جنگو (Django)

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

در ژوئن سال 2008 اعلام شد که بنیاد تازه تاسیس نرم افزار جنگو (DSF) در آینده راهبری جنگو را به عهده می گیرد. در ژوئیه سال 2015، Revolution Systems، شرکت مشاوره نرم افزاری متصل به برخی از بنیانگذاران و توسعه دهندگان Django، میزبان رویدادهای 10 ساله در لارنس بود.

فلسفه طراحی جنگو (Django)

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

  • اتصال سست

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

  • کد تمیز

برنامه های جنگو باید تا حد امکان از کد تمیز استفاده کنند. جنگو از قابلیت های پویای پایتون مانند introspection استفاده می کند.

  • توسعه سریع

نکته حائز اهمیت یک فریمورک وب در قرن بیست و یکم این است که بتواند جنبه های خسته کننده توسعه وب را سریع انجام دهد. جنگو توسعه فوق العاده سریع وب را فراهم می کند.

  • خود را تکرار نکنید (DRY)

هر مفهوم و یا کامپوننت مشخص از داده ها باید تنها در یک مکان باشد. جنگو وظایف تکراری را حذف می کند تا فرآیند توسعه را آسان و در زمان صرفه جویی کند و می توان با کدنویسی کمتر برنامه نویسی کرد.

ویژگی های جنگو (Django)

کامپوننت ها

فریمورک اصلی جنگو را می توان به عنوان معماری MVC مشاهده کرد که شامل نقشه بردار رابطه ای شیء (ORM) است. واسطه ای بین مدل های داده (تعریف شده به عنوان کلاس های پایتون) و بانک اطلاعاتی رابطه ای ("Model")، سیستمی برای پردازش درخواست های HTTP با سیستم قالب وب ("View")، و توزیع کننده URL مبتنی بر بیان به طور منظم ("Controller").

همچنین وی ژگی ها در فریمورک اص لی شامل موارد زیر است:

  • وب سرور سبک و مستقل برای توسعه و تست
  • سیستم سریال سازی و اعتبار سنجی فرم که می تواند بین فرم های HTML و مقادیر مناسب برای ذخیره سازی در دیتابیس را ترج مه کند.
  • سیستم تمپلیت که از مفهوم وراثت سرچشمه گرفته و از برنامه نویسی شی گرا استفاده می کند.  
  • فریمورک ذخیره سازی که می تواند از هر یک از چندین روش حافظه پنهان استفاده کند.
  • پشتیبانی از کلاس های میان افزار که می توانند در مراحل مختلف پردازش در خواست مداخله کنند و عملکرد های سفارشی را انجام دهند. 
  • سیستم توزیع کننده داخلی که به اجزای برنامه اجازه می دهد تا از طریق سیگنال های از پیش تعریف شده، رویداده ا  را به یکدیگر ارتباط دهند.
  • سیستم بین المللی سازی، از جمله ترجمه مؤلفه ه ای خود Django به زبان های مختلف
  • سیستم سریال سازی که می تواند نمایش های اکس ام ال (XML) و یا جی سان (JSON) نمونه های مدل جنگو را تولید  و مطالع ه کن د.
  • سیستمی  برای گسترش قابلیت های موتور تمپلیت 
  • رابط کاربری فریمورک تست واحد داخلی پایتون
  • جنگو رست فریمورک (Django REST) ابزاری قدرتمند و انعطاف پذیر برای ساختن API های وب است.

برنامه ها ی پکیج شده

توزیع اصلی  جنگو تعدادی بر نامه را شامل می ش ود، از جمله: 

  • سیستم تأیید گستر ده
  • رابط مدیریت ی پویا
  • ابزاری برای تولید فیدهای RSS و Atom
  • "Sites" به Django اجازه می دهد چندین وب سایت را اجر ا کند که هرکدام محتوا و برنامه های خاص خود را دارن د.
  • ابزاری برای تولید نقشه های  Google
  • built-in mitigation برای درخواست های جعلی Cross-platform، تزریق کد SQL و password cracking و سایر حملات وب معمولی، که اکثر آن ها بصورت پیش فرض روشن شده اند.
  • فریمورکی برای ایجاد برنامه های GIS

قابلیت توسعه

سیستم پیکربندی Django اجازه می دهد تا کد شخص ثالث به پروژه عادی وصل شود، مشروط بر اینکه پیرو قراردادهای برنامه قابل استفاده مجدد باشد. بیش از 2500 بسته در دسترس است تا رفتار اصلی این فریمورک را ارائه دهد و راه حل هایی را برای نسخه اصلی ارائه می دهد: ثبت نام، جستجو، تهیه و استفاده API،CMS و غیره.

در این صورت، وابستگی اجزای داخلی کاهش می یابد. در حالی که فلسفه Django به معنای جفت شدن بدون قاعده است، فیلترها و برچسب ها قالب اجرای موتور را انجام می دهند و هر دو برنامه های auth و bundled admin به استفاده از ORM داخلی نیاز دارند. هیچکدام از این فیلترها یا برنامه های bundled برای اجرای پروژه Django الزامی نیستند، اما برنامه های قابل استفاده مجدد به آنها بستگی دارند و توسعه دهندگان را ترغیب می کنند با استفاده از پشته، به منظور بهره مندی کامل از اکوسیستم برنامه ها ادامه دهند.

تنظیم سرور

Django را می توان با همراهی Apache،Nginx با استفاده از WSGI،Gunicorn یا Cherokee با استفاده از flup (ماژول پایتون) اجرا کرد. Django همچنین شامل قابلیت راه اندازی سرور FastCGI، امکان استفاده در پشت سرور وب که از FastCGI پشتیبانی می کند، مانند Lighttpd یا Hiawatha است. همچنین می توان از سایر سرورهای وب سازگار با WSGI استفاده کرد.

Django رسما از چهار پایگاه داده با سابقه پشتیبانی می کند: پستگرس کیوال (PostgreSQL)، مای اس کیوال (MySQL)، اس کیو ال (SQLite) و اوراکل (Oracle). اس کیوال سرور (SQL Server) را می توان با سیستم عامل Django-MySQL در سیستم عامل های مایکروسافت استفاده کرد، در حالی که به طور مشابه پشتوانه های خارجی نیز برای IBM Db2 ،SQL Anywhere و Firebird وجود دارد. انشعابی به نام django-nonrel وجود دارد که از پایگاه داده های NoSQL مانند مانگو دی بی (MongoDB) و Datastore Google App Engine پشتیبانی می کند.

Django همچنین ممکن است در رابطه با Jython در هر سرور برنامه Java EE مانند GlassFish یا JBoss اجرا شود. در این حالت، django-jython باید به منظور فراهم آوردن درایورهای JDBC برای اتصال بانک اطلاعاتی نصب شود، همچنین می تواند عملکرد لازم برای کامپایل کردن جنگو را در جنگ داخلی مناسب برای استقرار فراهم کند.

پشتیبانی از ORM

جنگو پل بین مدل داده و موتور پایگاه داده را فراهم می کند و از مجموعه بزرگ از سیستم های پایگاه داده شامل MySQL، اوراکل، PostgreSQL و غیره پشتیبانی می کند. همچنین از پایگاه داده نو اس کیو ال (NoSQL) از طریق چنگال Django-nonrel پشتیبانی می کند. در حال حاضر، تنها پایگاه داده های NoSQL که پشتیبانی می شوند MongoDB و google app engine است.

چند زبانه

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

پشتیبانی از فریمورک

جنگو از ای جکس (Ajax)، RSS ،Caching و سایر فریمورک های دیگر پشتیبانی می کند.

مدیریت GUI

جنگو رابط کاربری مناسب برای فعالیت های مدیریتی فراهم می کند.

محیط توسعه

جنگو وب سرور سبک وزن برای تسهیل تست و توسعه اپلیکیشن های end-to-end ارائه می دهد.

پشتیبانی از سرور

جنگو از سرورهای Apache با استفاده از ماژول mod_python، از تمامی سرورهای WSGI ،SQLite ،PostgreSQL ،Oracle و MySQL را پشتیبانی می کند.

مزایای جنگو (Django)

  • اکوسیستم غنی

توسعه دهندگان می گویند جنگو را مانند یک سیستم در نظر بگیرید. منظور آنها این است که بسیاری از برنامه های شخص ثالث وجود دارد که همراه با جنگو هستند. این برنامه ها بسته به نیاز پروژه می توانند یکپارچه شوند. جنگو شامل بسیاری از برنامه ها - مانند مجوز و ارسال ایمیل - است که به راحتی می توانید به یک سیستم وصل شوید.

  • بلوغ نرم افزاری

جنگو حدود 11 سال است که ایجاد شده و مراحل پیشرفت قابل توجهی را پشت سر گذاشته است. موارد زیادی به کمال رسیده و موارد جدید دیگری نیز به آن اضافه شده است. اگر دنبال راه حلی برای مشکل خود باشید ممکن است هزاران نفر قبلاً آن را حل کرده باشند، در نتیجه می توانید راه حل های ارائه شده را توسط جامعه پرشور جنگو پیدا کنید.

  • پنل مدیریت پیش فرض

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

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

  • مناسب برای SEO

پایتون به داشتن کد نزدیک به زبان انسان مشهور است و اگر می خواهید سایت شما در نتایج جستجو رتبه بالایی داشته باشد. با استفاده از Django، می توانید URL ها و لینک های وب سایت را با استفاده از مناسب ترین کلمات کلیدی و بهینه سازی موتور جستجو (SEO) بهترین شیوه ها تولید کنید.

  • توسعه پذیر

جنگو می تواند با افزونه ها گسترش یابد. افزونه ها مؤلفه های نرم افزاری هستند که به توسعه دهندگان امکان می دهد ویژگی خاصی را به یک برنامه اضافه و زمینه شخصی سازی زیادی را فراهم کنند. صدها بسته برای کمک به شما در اضافه کردن Google Maps، ایجاد مجوزهای پیچیده یا اتصال به Stripe برای پردازش پرداخت ها وجود دارد. اگر نیاز دارید پروژه خود را در آینده مقیاس گذاری کنید، می توانید برخی از مؤلفه ها را جدا کرده و آنها را با سایر مواردی که نیازهای فعلی شما را برآورده می کنند جایگزین کنید.

  • کتابخانه ها

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

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

  • Django ORM

جنگو به دلیل نگاشت مدل اشیاء به مدل رابطه‌ ای یا (Object-Relational Mapping) خود که به توسعه دهندگان در تعامل با پایگاه داده کمک می کند، ارزش دارد. ORM کتابخانه ای است که داده های ذخیره شده در پایگاه های داده مانند PostgreSQL و MySQL را به اشیاء متداول در کد برنامه انتقال می دهد.

آموزش

توانایی Django ORM جهت استخراج اطلاعات باعث تسریع در توسعه برنامه های وب می شود و به توسعه دهندگان کمک می کند تا در هر زمان دیگر نمونه های کاری را بسازند. توسعه دهندگان لزوماً برای دستکاری داده ها نباید از زبان مورد استفاده در ارتباط بانک اطلاعاتی بدانند.

علاوه بر این، Django ORM به توسعه دهندگان کمک می کند تا بین داده های رابطه ای با حداقل تغییر کد، تغییر ایجاد کنند. این به شما امکان می دهد از SQLite برای توسعه لوکال استفاده کنید و به عنوان مثال برای ساخت برنامه از MySQL استفاده کنید. با این حال، به طور کلی بهتر است که از یک بانک اطلاعاتی واحد استفاده شود تا از خطاهایی که ممکن است هنگام انتقال رخ دهند، جلوگیری شود.

  • اتصال بهتر CDN و مدیریت محتوا

این ویژگی یکی از دلایلی است که شرکت های نوظهور و خدمات اجتماعی مانند اینستاگرام به دلیل در دسترس نبودن کنترل بیشتر بر روی CDN ها، در درجه اول از Django استفاده می کنند.

CDN چیزی نیست جز Content Delivery Networks، همانطور که از این نام وجود دارد، آنها سرورهای خاصی هستند که دارای چندرسانه ای و محتوا هستند و سایت هایی مانند Netflix و Amazon Prime برای لایو استریم استفاده می کنند. این سرورها فقط حاوی فایل های چندرسانه ای و منابع برای صفحه وب شما هستند، زیرا از لحاظ جغرافیایی در نزدیکی مشتری قرار دارند، بنابراین می توانند با سرعت بیشتری به محتوا بپردازند و در نتیجه، رضایت مشتری را افزایش دهند.

Django به دلیل داشتن رابط کاربری عالی Admin، کتابخانه ها و توسعه دهندگان را برای استفاده از آن به عنوان CMS (سیستم مدیریت محتوا) فراهم می کند، که تنظیم و اجرای CDN را بسیار آسان می کند.

سایت ها از CDN های بسیار زیاد استفاده می کنند زیرا به شما محتوای چندرسانه ای، مانند YouTube، Instagram، Google و غیره را ارائه می دهند.

  • پردازش سریع

این مزیت نسبت به سایر فریمورک های دیگر مناسب است زیرا معماری Django با سایر فریمورک های دیگر در صنعت متفاوت است. این بدان معناست که Django از معماری MTV استفاده می کند که باعث می شود کل فرآیند انتقال از طریق اینترنت آسان و سریع شود زیرا منابع در CDN قرار می گیرند. سرور Django همه چیز را به خوبی مدیریت می کند، ضمن اینکه سرعت را نیز حفظ می کند. معماری جنگو با سایر فریمورک ها تفاوت های اساسی دارد.

  • امنیت

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

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

ساختار جنگو (Django)

جنگو براساس معماری MVT (Model-View-Temple) بنا شده است. MVT یک الگوی طراحی نرم افزار برای توسعه یک برنامه وب است.

MVT Structure دارای سه بخش زیر است:

مدل (Model): مدل به عنوان واسط داده های شما عمل می کند و مسئول حفظ داده ها است.مدل ساختار داده های منطقی در بک اند کل برنامه است و توسط بانک اطلاعاتی ارائه می شود.

ویو (View): ویو رابط کاربری است - آنچه را در هنگام ارائه وب سایت در مرورگر خود مشاهده می کنید. این فایل ها توسط فایل های HTML / CSS / Javascript و Jinja نشان داده شده است.

الگو (Template): الگو متشکل از بخش های استاتیک از خروجی HTML مورد نظر و همچنین برخی از نحو های ویژه که چگونگی درج محتوای پویا را توصیف می کند.

محیط توسعه جنگو (Django)

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

از چه سیستم عاملی پشتیبانی می شود؟

برنامه های وب Django را می توان تقریباً در هر دستگاهی که بتواند زبان برنامه نویسی Python 3 را اجرا کند، پیاده سازی کرد: ویندوز، macOS، Linux / Unix، Solaris. تقریباً هر رایانه باید عملکرد لازم را برای اجرای جنگو در حین توسعه داشته باشد.

از چه نسخه ای از پایتون استفاده می شود؟

توصیه می شود از جدیدترین نسخه موجود استفاده کنید. در صورت لزوم از پایتون 3.5 یا بالاتر می توان استفاده کرد (پشتیبانی از پایتون 3.5 در نسخه های بعدی کاهش می یابد).

از کجا می توانیم Django را دانلود کنیم؟

سه گزینه برای دانلود Django وجود دارد:

  • مخزن پکیج پایتون (PyPi)، با استفاده از ابزار pip. این بهترین روش برای به دست آوردن آخرین نسخه پایدار از جنگو است.
  • از یک نسخه از مدیر بسته رایانه خود استفاده کنید. توزیع های جنگو که با سیستم عامل ها همراه هستند مکانیزم نصب آشنایی را ارائه می دهند. البته توجه داشته باشید که نسخه پکیج شده ممکن است کاملاً قدیمی باشد و فقط می تواند در محیط سیستم پایتون نصب شود.
  • نصب از سورس. شما می توانید آخرین نسخه جنگو را از منبع دریافت و نصب کنید. این روش برای مبتدیان توصیه نمی شود.

کدام پایگاه داده؟

Django از چهار پایگاه داده اصلی (PostgreSQL، MySQL، Oracle و SQLite) پشتیبانی می کند، و کتابخانه های انجمن وجود دارند که سطوح مختلف پشتیبانی از سایر پایگاه داده های محبوب SQL و NoSQL را ارائه می دهند. توصیه می شود برای تولید و توسعه، همین پایگاه های داده را انتخاب کنید (اگرچه Django تفاوت های پایگاه داده را با استفاده از Mapper Relation Mapper (ORM) انتزاع می کند.

کاربرد جنگو (Django)

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

در اینجا چندین نوع پروژه که می توانید با استفاده از فریمورک توسعه دهید، آورده شده است:

  • سیستم عامل های مالی با ویژگی هایی برای تجزیه و تحلیل و محاسبه نتایج تقریبی بر اساس داده های شخصی، تحمل ریسک، احتمال دستیابی به اهداف.
  • ساخته شده در سیستم های CRM سفارشی برای داده های داخلی.
  • سیستم های B2B CRM برای ارتباط بین مشاغل؛
  • پلتفرم هایی که ارتباط بین دو طرف مانند کسب و کار و مصرف کننده را تسهیل می کنند.
  • موتورهای رزرو بالا یا سیستم عامل های خرید با بار بالا؛
  • برنامه های تلفن همراه Android و iOS که از برنامه های وب پشتیبانی می کنند.
  • سیستم های ارزیابی املاک و مستغلات؛
  • سیستم های مدیریت اسناد؛
  • بسترهای لازم برای رسیدگی به موضوعات حقوقی مانند تأیید شرایط وام یا وضعیت اجاره نامه.

برخی از شرکت ها تصمیم می گیرند پروژه های خود را در بیش از فریمورک پایه گذاری کنند. از جنگو همچنین می توانید برای ایجاد ویژگی های جداگانه استفاده کنید، مانند:

  • سیستم ارسال نامه الکترونیکی برای ارسال اعلان ها به کاربران
  • سیستم فیلتر با منطق پیشرفته و قوانین پویا در حال تغییر
  • ژنراتورهای مبتنی بر الگوریتم
  • ابزارهای تحلیل داده
  • رابط هایی برای مدیریت صندوق های سرمایه گذاری
  • داشبورد مدیر
  • سیستم های تأیید مبتنی بر عکس؛
  • و سایر ویژگی هایی که توسعه سیستم عامل های CRM و B2B، بازارهای آنلاین، سیستم های رزرو و سایر موارد را تسهیل می کند.

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

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

جنگو فریمورک اپلیکیشن وب اساسا مجموعه ابزاری است که همه برنامه های کاربردی وب به آن نیاز دارند. نکته دیگری که جنگو را قدرتمند ساخته این است که با پلاگین های ‘app’ می تواند گسترش یابد. پایتون بر روی هر پلتفرمی، از جمله Mac،PC،Linux،heck اجرا می شود، شما حتی می توانید آن را بر روی toaster (تقریبا) اجرا کنید و Django می تواند هر کجا که پایتون کار می کند اجرا شود.

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

جنگو برای پروژه هایی از اندازه کوچک تا بزرگترین آنها مناسب است. با توجه به مقیاس پذیری آن، مناسب برای راه اندازی استارت آپ است.

مثال های کاربردی جنگو (Django)

  • اینستاگرام: یکی از شبکه های اجتماعی پرطرفدار است که به تعداد زیادی از داده های رسانه ای و تعامل کاربران می پردازد. Django امکاناتی را فراهم می کند که باعث می شود برنامه وب یکپارچه کار کند، ویژگی های جدیدی اضافه کرده و مسائل را در هر زمان برطرف نمی کند.
  • Spotify: کتابخانه بزرگ رسانه ای با حجم عظیمی از اطلاعات که به کاربران امکان می دهد موسیقی را رایگان و یا بر اساس اشتراک آگهی رایگان گوش دهند. از نظر فنی موارد، Spotify از یادگیری ماشین نیز استفاده می کند، جایی که پایتون یکی از بهترین انتخاب ها است. سازندگان تصمیم گرفتند تا آن را با فریمورک Django ترکیب کنند.
  • واشنگتن پست: جای تعجب نیست که واشنگتن پست از Django برای مدیریت ترافیک سنگین خود استفاده کند زیرا این فریمورک برای ایجاد روزنامه آنلاین ایجاد شده است. چندین مجله اینترنتی دیگر نیز از جنگو استفاده می کنند.
  • Dropbox: فناوری ابری برای ذخیره سازی فایل ها نیاز به عملکرد بالا دارد. Django ابزارهای مورد نیاز خود را برای تهیه اشتراک و همگام سازی و همچنین مقیاس پذیری در Dropbox به شما ارائه می دهد.
  • موزیلا: یکی از پرطرفدارترین مرورگرهای وب، و برنامه دیگر وب که از PHP به پایتون و از این رو به Django تغییر یافته است. در حال حاضر، بهتر می توان ترافیک عظیم و بازدیدهای API را کنترل کرد.
  • ناسا: آنها برای برخی از عناصر کاربردی که به بیشترین قابلیت اطمینان نیاز دارند از جنگو استفاده می کنند. به عنوان مثال وب سایت آنها به اندازه اینستاگرام محبوب نیست، با این وجود از تصاویر با وضوح بالا و به طور متوسط 2 میلیون بازدید در هر ماه بهره می برد.
  • Pinterest: این پلتفرم دارای بیش از 250 میلیون کاربر فعال در هر ماه، حجم عظیمی از داده های رسانه ای را کنترل می کند و هنوز هم می تواند رابط کاربر پسند خود را حفظ کند. به لطف فریمورک اوپن سورس، سازندگان توانستند آن را متناسب با نیاز خود تغییر دهند.
  • Reddit: نخستین سایتی که برای اخبار و بحث های اجتماعی به آن مراجعه می کنید چیست؟ برای بسیاری از افراد، Reddit است. بستر محتوای وب که در آن افراد سؤال می کنند، نظرات را به اشتراک می گذارند و اینکه پست ها بر اساس سیستم رتبه بندی تبلیغ می شوند. Reddit برای بسیاری از قابلیت های عملکردی خود مانند سرویس دادن به ترافیک کاربر سنگین، به Django متکی است.
آیا این نوشته را دوست داشتید؟
linkedin-advanced-web-development-with-django

آموزش توسعه وب پیشرفته با جنگو


در این دوره یاد بگیرید چگونه با استفاده از جنگو کد تمیز و آسان برای نگهداری بنویسید تا وبسایت های قدرتمند را به سرعت توسعه دهید. این دوره روی اینکه چگ...

1399/02/24 13386 بازدید زیرنویس دارد
linkedin-deploying-django-apps-make-your-site-go-live

آموزش استقرار اپلیکیشن های جنگو - سایت خود را زنده کنید


این دوره گام های مشارکت در ایجاد یک سایت جنگو را نشان می دهد. این دوره نحوه کار با PostgreSQL، NGINX، S3 و غیره را نشان می دهد بنابراین می توانید مهار...

1399/02/20 3274 بازدید زیرنویس دارد
udemy-react-django-full-stack-web-app-backend-api-mobile-apps

دوره فول استک جنگو و ری اکت: اپلیکیشن وب، API و برنامه موبایل


برنامه وب تک صفحه ای، Django 2 REST API با Python 3، برنامه های کراس پلتفرم تلفن همراه ری اکت نیتیو را برای Android و iOS ایجاد کنید. این دوره عمدتا م...

1399/02/02 14974 بازدید زیرنویس دارد
linkedin-building-angular-and-django-apps

آموزش ساخت اپلیکیشن های Angular و Django


دانش Angular و Django REST خود را بیازمایید. در این دوره، به Rudolf Olah بپیوندید زیرا او به بررسی پیچیدگی های جفت کردن این دو فریمورک برای ساخت وب اپ...

1399/01/12 2875 بازدید زیرنویس دارد
linkedin-building-react-and-django-apps

ساخت اپلیکیشن های React و Django


کشف کنید که چگونه می توان قدرت عملکرد فرانت اند فریمورک React را با بهترین بک اند های Django برای ساخت اپلیکیشن های فول استک ترکیب کرد. در این دوره، ب...

1398/12/14 8339 بازدید زیرنویس دارد
skillshare-build-a-data-driven-website-with-django

آموزش ساخت وب سایت داده محور با جنگو


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

1398/12/02 9161 بازدید
codewithmosh-the-complete-python-programming-course

دوره کامل برنامه نویسی پایتون - Codewithmosh The Complete Python


دوره کامل پایتون - پایتون را برای هوش مصنوعی، یادگیری ماشینی، علم داده و توسعه اپلیکیشن یاد بگیرید. این دوره بر این فرض است که شما هیچ چیز در مورد پای...

1398/11/30 23571 بازدید
teamtreehouse-django-rest-framework

آموزش Django Rest Framework


Django Rest Framework به اختصار DRF، یک فریمورک قدرتمند و قابل انعطاف در بالای یک فریمورک (Django)، برای ساختن API های RESTful وب است. ویژگی های داخلی...

1398/10/29 6007 بازدید
teamtreehouse-django-class-based-views

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


خوشبختانه، Django همچنین راهی برای ایجاد ویووها به عنوان کلاس هایی است که می توانند به کد تمیزتر و قابل استفاده مجدد بیشتری منجر شوند. view های مبتنی ...

1398/10/03 2540 بازدید
linkedin-test-driven-development-in-django

توسعه تست محور در جنگو (Django)


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

1398/09/25 3288 بازدید زیرنویس دارد
linkedin-building-a-paid-membership-site-with-django

آموزش ساخت وب سایت عضویتی پولی با Django


با این دوره مهارت های Django خود را با ساختن یک سایت عضویتی که بتواند محتوا را با کاربران به اشتراک بگذارد و پرداخت ها را جمع آوری کند، بهبود می بخشید...

1398/09/03 6157 بازدید زیرنویس دارد
packtpub-consuming-python-apis-with-react-video

بکار بردن API‌های پایتون با React [ویدئویی]


در این دوره شما با راه اندازی سریع ابزارهای جاوا اسکریپت، Node.js و React.js برای ساخت یک پروژه کامل شروع خواهید کرد. سپس، نحوه تعامل کد فرانت اند با ...

1398/08/12 2759 بازدید
linkedin-django-forms

آموزش جنگو - فرم ها


اکثر وب سایت ها برای دریافت داده ها از کاربران نیاز به استفاده از فرم ها دارند ، بنابراین شناختن نحوه جمع آوری و اداره کردن ایمن داده ها ضمن حفظ تجربه...

1398/07/02 4900 بازدید زیرنویس دارد
packtpub-learning-angular-for-django-developers

آموزش انگولار برای توسعه دهندگان جنگو


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

1398/03/17 4880 بازدید
packtpub-python-django-dev-to-deployment

آموزش پایتون و جنگو از توسعه تا استقرار


در این آموزش تصویری با برنامه نویسی پایتون و ساخت اپلیکیشن های تحت وب با جنگو (Django) و بوت استرپ 4 به صورت کاملا عملی آشنا می شوید. این دوره هر آنچ...

1398/02/01 42386 بازدید
teamtreehouse-customizing-the-django-admin-course

آموزش سفارش سازی پنل ادمین جنگو (Django Admin)


Django Admin یک ابزار قدرتمند و رایگان است که جنگو به شما ارائه می کند تا محتوای سایت خود را مدیریت کنید. سفارش سازی ادمین کار را برای شما آسان می ساز...

1397/07/27 7427 بازدید
packtpub-creating-smart-web-apps-with-django-video

آموزش ایجاد اپلیکیشن های وب هوشمند با Django 


جنگو قدرت پایتون را به ارمغان می آورد تا به شما کمک کند به سرعت اپلیکیشن های وب را توسعه دهید. در این دوره با Django، ادغام اپلیکیشن با سایر تکنولوژی ...

1397/07/02 6301 بازدید
lynda-django-4-building-an-elearning-platform

آموزش جنگو: قسمت 4: ساخت پلتفرم یادگیری الکترونیکی


در اینجا استفاده از جنگو- چارچوب وب پایتون- را فرا خواهید گرفت تا پلتفرم یادگیری الکترونیکی ایجاد کنید. در این آموزش، نویسنده این دوره،  Antonio Mele ...

1397/05/27 5188 بازدید
teamtreehouse-django-social-authentication

آموزش احراز هویت کاربر در اپلیکیشن جنگو


در این کارگاه، شما یاد خواهید گرفت که چگونه احراز هویت مبتنی بر OAuth را به اپلیکیشن های Django خود اضافه کنید.  ما از GitHub برای ارائه یک راه سریع و...

1397/05/16 3757 بازدید