صفحه اصلی >> بلاگ >> جنگو پایتون برای چه کاری استفاده می شود؟ 5 دلیل کلیدی که من از فریمورک جنگو برای پروژه های مشتری استفاده می کنم
اگر چند سال پیش به من می گفتید که من جنگو پایتون را به عنوان فریمورک شماره یک برای پروژه های مشتری انتخاب می کنم ، شما را باور نمی کردم.
در آن زمان ، من فریمورک های سبک مانند Flask و Express را به دلیل انعطاف پذیری و کنترل فوق العاده ای که به من می دادند ترجیح دادم.
چه چیزی تغییر کرد؟
بخشی از آن استخدام من برای کار در جنگو بود! قسمت دیگر خسته شدن از بارها و بارها تنظیم ویژگیهای یکسان برای شرکتهای مختلف - ORM برای پایگاه داده ، migrations ، سیستم های تأیید اعتبار ، ایمیل ها و غیره. تنظیم و تنظیم صحیح همه این ویژگی ها زمانبر است.
خوب ، جنگو همه اینها را با حداقل تنظیمات خارج از مجموعه را به من می دهد. بله عالی است.
با استفاده از جنگو ، می توانم برنامه ها را خیلی سریعتر و بدون از بین بردن ویژگی ها ، بسازم. تجربه توسعه دهنده نیز بسیار خوب است - و نه فقط به دلیل جذاب بودن پایتون. همچنین به این دلیل که ابزارهای اشکال زدایی خوبی وجود دارد ، ورود به سیستم از قبل تنظیم شده است و یک سرور نیز وجود دارد که به طور خودکار با تغییر پرونده راه اندازی می شود.
من می توانم تمام ویژگی های خوب جنگو را ادامه دهم ، اما در اینجا فقط 5 مورد برتر را لیست می کنم. امیدوارم این مورد توجه شما را جلب کند تا شما بخواهید جنگو را برای شرکت ها و پروژه های خود امتحان کنید.
رابط مدیریت جنگو
من این را ابتدا ذکر می کنم زیرا این ویژگی شماره یک مورد علاقه من است که به صورت پخته شده به جنگو می آید.
بنابراین بسیاری از مشتریان نیاز به مشاهده برنامه خود دارند تا بتوانند کاربران ، داده ها یا محتوای موجود در صفحات را مدیریت کنند. معمولاً مشتری فنی نخواهد بود یا وقت کافی برای غوطه ور شدن در کد واقعی و ایجاد تغییرات را ندارد.
بنابراین بهترین راه برای کنترل این وضعیت چیست؟
رابط مدیریت جنگو یک راه حل عالی است. بدون هیچ گونه پیکربندی اضافی ، یک منطقه مدیریتی کاملاً قابل تنظیم و محافظت شده با ورود به سیستم دریافت می کنید که تمام داده های برنامه شما را نمایش می دهد.
داده های موجود در این قسمت ادمین شامل جداولی است که می خواهید در آنجا لیست کنید و همچنین همه جداول مربوط به کتابخانه های آمماده مانند کتابخانه های خودکار.
جنگو دارای احراز هویت داخلی است
تقریباً در هر برنامه ای به نوعی احراز هویت نیاز است ، بنابراین بازار از ابزارها ، خدمات و کتابخانه های بسیاری برای استفاده برخوردار است. از آنجا که گزینه های زیادی وجود دارد ، انتخاب یک گزینه دشوار است. حتی اگر از یک سرویس مدیریت شده استفاده می کنید ، اتصال به آن همیشه آسان نیست.
خوب ، جنگو احراز هویت داخلی از طریق session ها ارائه می دهد. اگر می خواهید از token ها استفاده کنید چه می کنید؟ فقط کتابخانه Django REST Framework (DRF) را که همراه با رمز توکن است نصب کنید.
من شخصاً دوست دارم از DRF با کتابخانه dj-rest-auth اضافی برای ویژگی های اضافی مانند token های منقضی شده استفاده کنم. در هر صورت ، همه این قطعات در اکوسیستم جنگو به صورت یکپارچه کار می کنند و به تنظیمات بسیار کمی نیاز دارند.
هر سیستم احراز هویتی که در پروژه جنگو استفاده می کنید از ORM نیز استفاده خواهد کرد. بنابراین ، بیایید در مورد برخی از مزایای آن صحبت کنیم.
ORM
آیا تا به حال سعی کرده اید به صورت دستی ORM تنظیم کنید تا پایگاه داده خود را به برنامه خود متصل کنید؟ به عنوان مثال ، SQLAlchemy ، TypeORM ، یا Sequelize. حتی با داشتن مستندات خوب ، کار آسانی نیست. شما باید انواع مختلفی از پرس و جوها(queries) را برای کار و همچنین migrations ، seeding و موارد دیگر را در اختیار داشته باشید.
جنگو همه اینها را برای شما فراهم می کند. فقط اطلاعات پایگاه داده مورد علاقه خود را - Postgres ، MySQL ، Mongo و غیره - وارد کنید و جنگو بقیه موارد را اداره می کند. بدون توجه به اینکه پایگاه داده ای را انتخاب کنید ، شما از طریق همان رابط پایتون مدل ایجاد می کنید و با آنها تعامل می کنید.
فقط یک نکته در اینجا ذکر می کنم: اگرچه شما استاد SQL باشید یا مورد بسیار خاصی داشته باشید ، برای تعامل با پایگاه داده در هر برنامه باید از ORM استفاده کنید.
تمام ویژگی های ذکر شده تاکنون فقط به جنگو پایتون اختصاص ندارد. تفاوت در این است که اکثر فریم ورک ها به شما امکان می دهند ORM ، احراز هویت و غیره خود را تنظیم کنید. جنگو همه این کارها را با تلاش بسیار کم انجام می دهد. این بدان معنی است که شما می توانید سریعتر ویژگی ها ، MVP ها و برنامه ها را ارسال کنید.
سرعت توسعه
پایتون زبانی است که معمولاً برای نمونه سازی سریع و ساخت برنامه ها مورد استفاده قرار می گیرد. جنگو با بسیاری از ویژگی های داخلی ، سرعت و قدرت پایتون را در اختیار شما قرار می دهد تا با سرعت بیشتری به ساخت برنامه های وب و API ها کمک کند.
تصمیم گیری و تحقیق در مورد ابزارها و کتابخانه ها زمان زیادی از نوشتن کد را می طلبد. جنگو روش های مستند خوبی برای انجام کارها دارد ، که تمام وقت اضافی که ممکن است برای یافتن یک راه حل خوب برای خود صرف کنید را کاهش می دهد.
از زمان راه اندازی یک پروژه تا ایجاد query های پیچیده و استقرار برنامه ، جنگو شما را با اسناد عالی و انجمن بزرگی روبرو کرده است تا در حل مشکلات به شما کمک کند.
هر چند فقط کتابخانه های اصلی جنگو نیستند که می توانند به شما در ساخت سریعتر برنامه ها کمک کنند. جنگو همچنین دارای هزاران افزونه با یک API مشترک است بنابراین می توانید انتظارات خاصی در مورد نحوه استفاده از هر یک از آنها در پروژه خود داشته باشید.
افزونه های جنگو
می خواهید CMS بسازید؟ جنگو افزونه ای برای آن دارد. در واقع تعداد زیادی از آنها. اگر در Github و DjangoPackages.org جستجو کنید ، تقریباً برای هر مورد استفاده ای راه حل های زیادی پیدا خواهید کرد.
اینها بعضی از افزونه های مورد علاقه من است:
امیدوارم انگیزه کافی به شما داده باشم تا بخواهید خودتان امتحان کنید.
برای ثبت نظر باید وارد سایت شوید یا ثبت نام نمایید.
نظر شما با موفقیت در سیستم ثبت گردید.