آموزش جنگو (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 متکی است.
آیا این نوشته را دوست داشتید؟
1396/11/08 3994 بازدید زیرنویس دارد
برنامه-نویسی-آزمون-محور-پایتون-با-django-و-selenium

برنامه نویسی آزمون محور پایتون با Django و Selenium و Javascript


در این آموزش تصویری با نحوه برنامه نویسی آزمون محور (Test-Driven) پایتون با استفاده از Django و Selenium و Javascript آشنا می شوید. این دوره آموزشی م...

1396/10/28 5806 بازدید
pluralsight-customizing-django-cms

آموزش سفارش سازی Django CMS


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

1396/09/26 2570 بازدید زیرنویس دارد
1396/08/24 4746 بازدید
lynda-mastering-django-web-development

آموزش توسعه وب با Django


در این آموزش تصویری با فریمورک قدرتمند مبتنی بر وب Django آشنا می شوید. به کمک این فریمورک می توانید وب سایت های قوی و حرفه ای طراحی کنید. این دوره ...

1395/10/19 5013 بازدید
tutsplus-build-a-news-aggregator-with-django

ساخت یک جمع آوری کننده اخبار با Django


در این آموزش تصویری با ساخت یک برنامه جمع آوری کننده اخبار با Django و Python آشنا می شوید. این دوره آموزشی محصول موسسه Tutsplus است. سرفصل های دوره:...

1395/02/30 3496 بازدید
آموزش-python-django

آموزش Python Django


Django چیست؟ Django یک فریمورک سطح بالای Python است که به کمک آن می توانید اپلیکیشن های تحت وب ایجاد کنید. در این دوره آموزشی از موسسه Udemy با نحوه...

1395/01/17 19352 بازدید
آموزش-مقدماتی-django

آموزش مقدماتی Django


فریم ورک Django  ( جنگجو) یک فریم ورک سطح بالا به منظور ایجاد سریع نرم افزاری های سمت وب می باشد که دارای ویژگی ها و امکانات بسیار زیاد و جالبی می باش...

1395/01/14 7752 بازدید
lynda-up-and-running-with-python-and-django

ساخت وب سایت با Python و Django


در این آموزش تصویری با ساخت وب سایت با  Python و Django آشنا می شوید. این دوره نحوه ایجاد پروژه در Django ، برنامه های کاربردی وب ، معماری مبتنی بر ...

1394/12/27 5123 بازدید
udemy-python-course-learn-python-programming-mongodb-django

آموزش کامل Python همراه با MongoDB و Django


در این آموزش تصویری با Python همراه با MongoDB و Django آشنا می شوید. این دوره اصول اولیه زبان برنامه نویسی پایتون و نحوه استفاده از پایتون با SQLit...

1394/12/27 5234 بازدید
packtpub-learning-django-web-development

توسعه وب با Django


در این آموزش تصویری با توسعه وب با Django آشنا می شوید. این دوره به آموزش بهترین شیوه های کدنویسی، نحوه اشکال زدایی و استقرار برنامه های تحت وب با D...

1394/12/27 3120 بازدید
udemy-django-unchained-with-python

آموزش Django Unchained با Python


در این آموزش تصویری با Django Unchained با Python آشنا می شوید. Django بهترین فریمرک مورد نظر برای پایتون در ساخت برنامه های کاربردی وب می باشد. این...

1394/12/27 3403 بازدید
tutsplus-getting-started-with-django

شروع کار با Django


در این آموزش تصویری با Django آشنا می شوید. Django یک فریمورک قدرتمند برای وب می باشد. این دوره نوشتن برنامه های کاربردی وب با استفاده از Django را ...

1394/12/27 3480 بازدید
آشنایی-با-امکانات-جدید-در-django-1-7

آشنایی با امکانات جدید در Django 1.7


در این آموزش تصویری با امکانات جدید در Django 1.7 آشنا می شوید. این دوره آموزشی محصول موسسه Pluralsight می باشد. سرفصل های دوره: بررسی اجمالی دو...

1394/12/27 1137 بازدید
آموزش-کدنویسی-برای-کارآفرینی-آموزش-python-django

آموزش کدنویسی برای کارآفرینی - آموزش Python Django و ...


در این آموزش تصویری با کدنویسی برای کارافرینی آشنا می شوید. در این دوره آموزشی که محصول موسسه Udemy می باشد، با زبان برنامه نویسی Python و فریمورک ...

1394/12/27 15277 بازدید