جنگو چیست؟ + معرفی مزایا و ویژگی های Django
فریم ورک جنگو یا Django که یک فریم ورک فوق العاده برای زبان برنامه نویسی پایتون است هر روز توجه افراد بیشتری را به خود جذب می کند. انتخاب یک فریم ورک مناسب برای انجام یک پروژه می تواند شانس پیاده سازی موفق پروژه شما را به طور چشمگیری افزایش دهد به شرط آن که قبل از تصمیم گیری ، به فاکتورهای مهمی هم چون امنیت ، مقیاس پذیری، توسعه سریع و… در پروژه دقت کنید. پس بیایید قبل از شروع به کارتان، اهداف و انتظارات خود را از فریم ورک جنگو مشخص کنید !
اگر به فکر توسعه وب و یا اپلیکیشن تلفن همراه هستید ولی در انتخاب نوع فریم ورک شک دارید می توانید Django را به عنوان یکی از مهم ترین گزینه ها در نظر بگیرید. این فریم ورک قدرتمند مبتنی بر پایتون ساخته شده و معمولا انتخاب توسعه دهندگان برای ارائه پروژه های وب و موبایل است.
با این حال ما به شما توصیه می کنیم یک انتخاب آگاهانه از قبل داشته باشید و بدانید که دقیقا چرا جنگو در میان افراد بسیار مفید و محبوب است. برای آسان تر شدن این مسئله، ما دلایل اصلی انتخاب جنگو را برای شما جمع آوری کرده ایم. پس با ما در ادامه این مقاله همراه شوید…
معرفی جنگو Django
برای این که کاملا متوجه شوید جنگو چیست ، بهتر است نگاهی دقیق تر به سرورها بیندازیم. وظیفه سرور، هدایت شما به یک صفحه وب است.
یک صندوق پستی ایمیل (mailbox) را تصور کنید که بر روی ایمیل های دریافتی (درخواست ها) نظارت دارد. این کار توسط یک وب سرور انجام می شود. وب سرور ایمیل ها را می خواند و سپس به صفحه وب مورد نظر پاسخ می دهد. ولی زمانی که شما بخواهید چیزی را ارسال کنید، باید محتوا داشته باشید. و جنگو همان چیزی است که به شما در تولید محتوا کمک خواهد کرد.
جنگو یک فریم ورک تحت وب رایگان و متن باز است که با زبان برنامه نویسی پایتون نوشته می شود. یک فریم ورک از مجموعه کامپوننت هایی تشکیل شده است که باعث توسعه هرچه سریع تر و آسان تر وبسایتتان می شود.
برای اینکه بخواهید یک وبسایت طراحی کنید، باید بتوانید به عوامل زیر دسترسی داشته باشید:
- احراز هویت کاربران (ثبت نام ، ورود به سیستم ، خروج از سیستم)
- پنل مدیریت برای وبسایت
- فرم ها
- بارگذاری (آپلود) فایل ها و…
خوشبختانه توسعه دهندگان وب از مدت ها قبل به این موضوع پی برده اند که افراد زمانی که اقدام به ساخت یک سایت جدید می کنند احتمالا با مشکلاتی مشابه موارد بالا روبرو خواهند شد ، بنابراین آنها به تاسیس گروهی در همین راستا پرداختند و فریم ورک هایی را ایجاد کردند ( مانند فریم ورک Django) که اجزای آماده را در اختیار آنها قرار می دهند، فقط باید بتوانند این اجزا را به درستی پیکربندی کنند تا با سایتشان مطابقت داشته باشد.
سایت رسمی project، جنگو را این گونه توصیف می کند: “یک فریم ورک با سطح پیشرفته که توسط برنامه نویسان باتجربه ساخته شده است و به توسعه وب اهمیت می دهد، این نرم افزار رایگان و متن باز است. ”
جنگو Django مجموعه عظیمی از ماژول ها را در اختیار کاربر قرار می دهد تا بتوانند با استفاده از آن در پروژه های خود استفاده کنند. “زبان قالب Django به گونه ای طراحی شده است که به افرادی که قبلاً با HTML کار کرده اند یادگیری آن بسیار راحت تر و سریع تر خواهد بود. ”
بنابراین اگر می خواهید با پایتون وبسایت و یا اپلیکیشن خود را پیاده سازی کنید، استفاده از فریم ورک Django مطمئنا برای شما انتخاب فوق العاده ای خواهد بود.
ویژگی های جنگو Django
- توسعه سریع
- امنیت
- مقیاس پذیری
- کاملاً بارگذاری شده
- همه کاره
- متن باز
- جامعه گسترده و پشتیبانی شده
1- توسعه سریع
هدف جنگو طراحی برنامه های وب در زمان بسیار کوتاه است. اجرای پروژه مدت زمان زیادی را صرف می کند اما با جنگو می توان این عملیات را به سرعت سپری کرد.
2- امنیت
برای فریم ورک Django امنیت، مقوله بسیار جدی است و همین عامل باعث عدم اشتباهات امنیتی رایج کاربران می شود. سیستم تأیید اعتبار کاربر ، با ارائه رمزهای عبور روشی مطمئن برای مدیریت حساب های کاربری می باشد.
3- مقیاس پذیری
جنگو Django قابلیت انعطاف پذیری و تغییر سریع پروژه های کاربردی کوچک و بزرگ را دارد.
4- کاملا بارگذاری شده
جنگو شامل ماژول های مختلف و کتابخانه هایی کاربردی است که می توانند برای انجام کارهای متداول توسعه وب استفاده شوند. همچنین جنگو مراقب احراز هویت کاربر ، مدیریت محتوا ، نقشه سایت ، فیدهای RSS و غیره نیز می باشد.
5- همه کاره
فریم ورک جنگو از نظر ماهیت همه جانبه است و می تواند نرم افزارهایی با دامنه های مختلف ایجاد کند. امروزه شرکت ها از این فریم ورک برای ساخت انواع مختلف برنامه ها مانند: سیستم های مدیریت محتوا ، شبکه های اجتماعی یا سیستم عامل های محاسبات علمی و غیره استفاده می کنند.
6- متن باز
جنگو یک فریم ورک تحت وب منبع باز است. این فریم ورک بدون هزینه در دسترس عموم قرار دارد و همین موضوع باعث می شود تا هزینه کل توسعه نرم افزار کاهش بیاید.
7- جامعه گسترده و پشتیبانی شده
Django یکی از محبوب ترین فریم ورک های تحت وب است که کانال ها و جامعه گسترده ای برای اشتراک گذاری اطلاعات دارد.
بزرگترین پروژه های نوشته شده با جنگو
آموزش نصب جنگو Django
پیش از آنکه بخواهید از جنگو استفاده کنید، می بایست پایتون را نصب کرده باشید. برای این منظور، آخرین نسخه پایتون را از لینک https://www.python.org/downloads/ دانلود کرده و در ادامه جنگو را نصب نمایید. برای نصب جنگو نسخه رسمی منتشر شده را از آدرس https://docs.djangoproject.com/en/3.2/topics/install/#installing-official-release دانلود کنید.
ساخت اپلیکیشن به کمک جنگو Django
ساخت اپلیکیشن به کمک جنگو را در یک مثال توضیح می دهیم. برای اطمینان از نصب صحیح جنگو و اینکه چه نسخه ای از آن نصب شده است، دستور زیر را در پایتون شل اجرا کنید:
1 |
$ python -m django --version |
اگر جنگو نصب شده باشد، نسخه نصب شده آن را مشاهده خواهید کرد. در غیر اینصورت، خطایی به صورت “No module named django” نمایش داده می شود.
1- ساخت پروژه
اولین گام، ساخت پروژه است. اگر اولین بار است که از جنگو استفاده می کنید، در دایرکتوری خاصی که می خواهید کد پروژه در آن ذخیره شود، دستور زیر را وارد و اجرا کنید:
1 |
$ django-admin startproject mysite |
در این صورت یک دایرکتوری mysite در دایرکتوری فعلی ایجاد می شود. سپس به کمک دستور زیر در پایتون شل، پروژه خود با نام startproject بسازید:
1 |
mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.py |
در این کد دستوری، هر یک از دستورات به صورت زیر عمل می کنند :
mysite/ یک دایرکتوری مسیر خروجی است که محل ذخیره پروژه را مشخص می کند. نام این دایرکتوری می تواند به دلخواه تغییر کند.
manage.py یک خط دستوری است که بین جنگو و پروژه شما ارتباط برقرار می کند.
مسیر داخلی mysite/ در واقع دایرکتوری مربوط به پکیج پایتون برای پروژه شماست.
mysite/__init__.py یک فایل خالی است که مشخص می کند که دایرکتوری مورد نظر می بایست به عنوان یک پکیج پایتون در نظر گرفته شود.
mysite/settings.py مربوط به تنظیمات و پیکربندی پروژه جنگو است..
mysite/urls.py نیز اعلامیه های URL مربوط به پروژه جنگو است که در حقیقت جدول محتوایی از سایت شماست که بر اساس جنگو نوشته می شود.
mysite/asgi.py نقطه ورودی سرورهای وب ASGI است که به عنوان سرور میزبان پروژه شما در نظر گرفته می شود.
mysite/wsgi.py نقطه ورودی سرورهای وب WSGI است که به عنوان سرور میزبان پروژه شما در نظر گرفته می شود.
2- تست پروژه
در این مرحله برای تست پروژه ایجاد شده، وارد دایرکتوری خروجی mysite شده و دستورات زیر را اجرا کنید:
1 |
$ python manage.py runserver |
در صورتی که پیغام زیر را مشاهده کنید، پروژه به درستی ایجاد شده است.
Performing system checks… System check identified no issues (0 silenced). You have unapplied migrations; your app may not work properly until they are applied.Run ‘python manage.py migrate’ to apply them. August 02, 2021 – 15:50:53Django version 3.2, using settings ‘mysite.settings’Starting development server at http://127.0.0.1:8000/Quit the server with CONTROL-C.
3- انتشار پروژه
حال می توانید پروژه را در مسیر پایتون مورد نظر خود انتشار دهید. برای این منظور به دایرکتوری manage.py رفته و دستور زیر را تایپ کنید:
1 |
$ python manage.py startapp polls |
با اجرای دستور فوق، دایرکتوری polls ایجاد خواهد شد که به شرح زیر است:
1 |
polls/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py |
دایرکتوری که به روش فوق ایجاد می شود، محل انتشار اپلیکیشن ساخته شده شما خواهد بود.
نتیجه گیری
ممکن است در ابتدا انتخاب نوع فریم ورک برای موفقیت یک پروژه دشوار به نظر برسد. اساسا، اگر شما نیاز به گسترش سریع دارید (ضمن ایجاد تغییر) و نگران پیدا کردن راه حل برای رفع هرگونه مشکل هستید، بهتر است Django را انتخاب کنید.
سپس به محصول واقعی که قرار است ایجاد کنید بیندیشید. اگر به دنبال طراحی یک محصول مقیاس پذیر و قابل گسترش هستید و در عین حال نگران مسائل امنیتی و مورد حمله قرار گرفتن هستید و نیاز به امنیت بالایی دارید، جنگو می تواند انتظارات شما را به خوبی برآورده کند. علاوه بر این، اگر در آینده به فکر استفاده از فناوری های جدید مثل یادگیری ماشین در محصول خود هستید، Django می تواند یک انتخاب صد در صد صحیح برای شما باشد.
با تمام نکات گفته شده ، باید نوع مهارت تان (یا تیم توسعه خود) را در نظر بگیرید. گذشته از این، یافتن توسعه دهندگان مناسب برای موفقیت پروژه شما بسیار مهم است. پروژه خود را با مشورت متخصصان پیش ببرید و فریم ورک مناسبی متناسب با نیازهای خود پیدا کنید.
مطالب زیر را حتما مطالعه کنید
1 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
دیدگاهتان را بنویسید لغو پاسخ
برای نوشتن دیدگاه باید وارد بشوید.
اقا اینستا و دراپ باکس رو که با react ساختن
اسپاتیفای هم با jquery