جنگو چیست ؟ توضیح ۰ تا ۱۰۰ جنگو / ۲۰۲۲


جنگو چیست ؟
فهرست موضوعات مطالب
جنگو چیست پایتون یکی از محبوب ترین زبان های برنامه نویسی در جهان است و در سال ۲۰۱۷ دومین زبان پر کاربرد در پروژه های Github بود. بنابراین اگر به زبان برنامه نویسی پایتون علاقه مند هستید ، احتمالاً در مورد چارچوب وب قدرتمند پایتون ، Django چیزی شنیده اید. محبوبیت روزافزون چارچوب های وب ، یادگیری و انتخاب بین آنها را تا حدی دشوار کرده است. امروز در این پست ، نگاهی دقیق تر به جنگو خواهیم انداخت تا با این فناوری شگفت انگیز شروع قدرتمندی داشته باشیم.
جنگو چیست ؟ Django یک فریمورک MTV برای ساخت برنامه های وب است. جنگو به توسعه دهندگان وب کمک می کند تا کدی تمیز ، کارآمد و قدرتمند بنویسند. جنگو علاوه بر اینکه در لیست محبوب ترین فریمورکE های وب جهان قرار دارد ، یکی از پرکاربردترین فناوری ها برای توسعه وب است. این فریمورک توسط اینستاگرام ، یوتیوب ، گوگل و حتی ناسا برای توسعه وب سایت خود استفاده شده است.
تاریخچه جنگو چیست ؟
- ۲۰۰۳: جنگو به عنوان یک پروژه داخلی در روزنامه Lawrence Journal-World، توسط Adrian Holovaty و Simon Willison شکل گرفت.
- ۲۰۰۵: سازندگان کتابخانه جنگو پلتفرم برنامه نویسی را در جولای ۲۰۰۵ راه اندازی کردند و یک نوازنده و نوازنده به نام Django Reinhardt، نام Django را به یاد او انتخاب کردند.
- ۲۰۰۵: جنگو در عمل نشان داد که به راحتی می تواند مکان های پرترافیک را مدیریت کند.
- Django در حال حاضر یکی از پروژه های برنامه نویسی متن باز است که بسیاری از توسعه دهندگان و توسعه دهندگان در سراسر جهان در حال کار بر روی آن هستند تا قابلیت های نرم افزاری جدید را اضافه کنند.
فلسفه طراحی جنگو (Django)
- استقلال نسبی مؤلفههای مختلف این پلتفرم: Django طوری طراحی شده است که هر یک از عناصر و اجزای این پلتفرم نسبتاً مستقل از یکدیگر باشند.
- کد نویسی کمتر: کد نویسی کمتر در جنگو، مترادف با چرخه سریع توسعه نرمافزار خواهد بود.
- اصل عدم تکرار (Don’t Repeat Yourself | DRY): در برنامه نویسی وب، جنگو توصیه می کند که هر ماژول برنامه در یک قسمت نوشته شود، نه اینکه در قسمت های مختلف برنامه وب تکرار شود.
- توسعه سریع: فلسفه طراحی جنگو این است که به توسعه دهندگان و توسعه دهندگان اجازه دهد تا در کوتاه ترین زمان ممکن برنامه ها را توسعه دهند.
- طراحی تمیز: کدهای برنامهنویسی جنگو در پایتون بسیار خوانا و تمیز طراحی شدهاند؛ فلسفه طراحی جنگو، برنامهنویسان و توسعهدهندگان را تشویق میکند تا از قواعد استاندارد توسعه برنامههای کاربردی تحت وب تبعیت کنند.
مطالب مرتبط
- ترموکس چیست؟ + آموزش نصب ابزار های هک و امنیت
- اسنورت چیست
- هک وای فای
- راه های جلوگیری از هک واتساپ
- راه های جلوگیری از هک گوشی
- فارنزیک چیست
- فارمینگ چیست
- گوگل هکینگ چیست
ساختار جنگو چیست؟
جنگو از معماری سه لایه MVT استفاده می کند که مخفف Model -View – Template است. این معماری نسخه اصلاح شده MVC برای فریمورک Django است و شباهت زیادی به آن دارد. هنگامی که سرور Django درخواستی را دریافت می کند ، روتر آن درخواست را به نمای مناسب هدایت می کند. سپس لایه view داده ها را از لایه model دریافت کرده و با استفاده از روش ها و توابع نوشته شده در آن ، لایه template را پر کرده و برای کاربر ارسال می کند.
مدلها (Models) در Django
در فریمورک Django ، با استفاده از مدل ORM قدرتمند و بسیار مفید ، انجام عملیات مختلف با پایگاه داده بسیار ساده شده و روند توسعه تسریع می شود. ORM مخفف Object-Relational-Mapping است و بدون آن ، توسعه دهنده باید همه جداول را خودش ایجاد کند و برای انجام هر عملیاتی با دیتابیس داده ، باید کوئری مربوطه را خودش بنویسد ، که در پروژه های بزرگ گاهی اوقات می تواند بسیار پیچیده و خسته کننده باشد.
ORM به شما این امکان را می دهد تا تمام دستورالعمل های دیتابیس را با دستورات ساده Python و همچنین روش های داخلی برای اجرای عملیات crud با دیتابیس اجرا کنید. در واقع ، برنامه نویس نیازی به تسلط بر همه روشهای پیچیده SQL با هم ندارد.
برخلاف چارچوب های دیگر ، همه مدل ها در پرونده ای به نام models.py قرار دارند و این می تواند در روند توسعه پروژه های بزرگ بسیار مفید و کارآمد باشد. جنگو از بسیاری از پایگاه های اطلاعاتی پشتیبانی می کند. SQLite برای توسعه و آزمایش عالی است زیرا Django هنگام نصب به طور پیش فرض نصب می شود و به برنامه خاصی نیاز ندارد. برای تولید می توانید از MYSQL و PostgreSQL استفاده کنید و اگر می خواهید از NoSQL استفاده کنید ، می توانید از MongoDB با Django استفاده کنید.
مزایای جنگو چیست؟
- پکیج اهراز هویت (Authentication)
- پنل ادمین پیشفرض و بسیار ماژولار
- پکیج Sessions برای مدیریت Session ها
- مدیریت پیامهای موقت یا پیامهای Session-based با استفاده از پکیج Messages
- تولید Google sitemap XML یا استفاده از پکیج Sitemaps
- بر پایه پایتون
- یادگیری ساده و تسریع روند کدنویسی و توسعه پروژه
Views در جنگو
View در جنگو یک لایه تجاری از معماری سه لایه MVT است. این لایه شامل توابع و روش هایی است که درخواست کاربر را دریافت و پردازش می کند و یک نتیجه معتبر برای کاربر ارسال می کند. این لایه داده را از مدل دریافت می کند و به هر یک از template ها امکان دسترسی به داده های خاص را می دهد.
Template ها در جنگو
لایه template مشابه لایه View در معماری MVC است و هدف آن نمایش و اطلاع رسانی به کاربر است و در واقع شکل ظاهری برنامه است (Display Logic). اگر با الگو برداری به زبانها و چارچوبهای دیگر از جمله لاراول آشنایی دارید ، در جنگو تقریباً یکسان است. شما از یک نحو HTML مانند استفاده می کنید که بعداً به HTML وارد شده و شامل تمام داده های مربوطه است. البته ، قالب های غیر HTML نیز وجود دارد ، به عنوان مثال ، شما می توانید از اسناد XML یا JSON و. اگر می خواهید فایل کنید.
نصب و راهاندازی جنگو
نصب و راهاندازی جنگو ساده است. با این حال، گامهای لازم برای آمادهسازی آن، بسته به سیستمهای عامل مختلف، متفاوت است. از آنجایی که پایتون یک زبان «مستقل از پلتفرم» (Platform-Independent) است، بسته برنامهنویسی جنگو برای تمامی سیستمهای عامل مقصد یکسان است. بهروزترین نسخه کتابخانه Django از لینک [+] قابل دانلود است.
با فرض اینکه فایل دانلود شده از کتابخانه جنگو به شکل Django-x.xx.tar.gz باشد، برای باز کردن فایل و نصب این کتابخانه در سیستمهای عامل لینوکس و مک، میتوان از کدهای زیر استفاده کرد:
اگر نسخه کتابخانه جنگو به درستی روی خروجی نمایش داده شود، می توان گفت که نصب جنگو روی سیستم عامل های لینوکس و مک با موفقیت انجام شده است.
در سیستم عامل های ویندوز (نسخه های مختلف ویندوز)، اگر فایل دانلود شده از کتابخانه جنگو در پوشه c: \ Django-x.xx ذخیره می شود، کافی است از دستور زیر برای دانلود محتویات فایل Access استفاده کنید:
روش اول:
نصب و راهاندازی سیستم پایگاه داده
کتابخانه Django، از «موتورهای پایگاه داده» (Database Engines) مختلفی پشتیبانی میکند. مهمترین آنها عبارتند از:
- پایگاه داده MySQL [+]
- پایگاه داده PostgreSQL [+]
- پایگاه داده SQLite ۳ [+]
- پایگاه داده Oracle [+]
- پایگاه داده MongoDb [+]
- پایگاه داده GoogleAppEngine [+]
نصب و راهاندازی وب سرور
همراه با کتابخانه جنگو، یک وب سرور آسان برای توسعه و آزمایش برنامه ها وجود دارد. این وب سرور برای کار با کتابخانه Django و برنامه های وب توسعه یافته توسط این کتابخانه از پیش پیکربندی شده است. مهمتر از همه، به محض تغییر کد برنامه، وب سرور Django برای انطباق با تغییرات ایجاد شده مجددا راه اندازی می شود. با این حال، Django از وب سرورهای محبوب مانند Apache و Lighttpd نیز پشتیبانی می کند.
ساختار یک پروژه Django
در پلتفرم Django، هر برنامه وب که نیاز به توسعه دارد، “پروژه” نامیده می شود. این پروژه همچنین از مجموعه ای از “برنامه های کاربردی” (Applications) تشکیل شده است. برنامه مجموعه ای از فایل های کد است که به معماری MVT بستگی دارد. برای روشن تر شدن این موضوع، این مثال را ببینید. فرض کنید هدف پیاده سازی یک وب سایت است.
در آن صورت، وب سایت همان پروژه خواهد بود. همچنین انجمن وب سایت، بخش اخبار و فرم تماس (contact form) برنامه های کاربردی (Applications) این پروژه را تشکیل خواهند داد. از آنجایی که هر اپلیکیشن مستقل از برنامه های کاربردی دیگر است، چنین ساختاری به توسعه دهنده و توسعه دهنده اجازه می دهد تا اپلیکیشن های توسعه یافته را بین پروژه های مختلف جابجا کنند.
چگونه جنگو را یاد بگیریم؟
برای یادگیری Django ابتدا باید با پایتون آشنا بشید و تسلط کافی را داشته باشید. پس از پایتون باید به پایه و اساس طراحی وب که HTML/CSS/JS است مسلط شوید و سپس سراغ یادگیری فریمورک فوق العاده و بسیار قدرتمند Django را بگیرید. برای یادگیری صفر تا صد پایتون میتوانید از دوره جامع آموزش python (کامل) استفاده کنید. میتوانید پایه و اساس طراحی وب را با دورههای پرطرفدار و رایگان HTML، CSS، CSS3 و جاوااسکریپت در سایت کدفرند یادبگیرید. پس از یادگیری و تسلط یافتن به پیش نیازهای Django، میتوانید با دوره جامع و پروژه محور آموزش جنگو در کدفرند به این فریمورک کاملا مسلط شوید.
سلام دوره آموزشی از این جنگو ندارین؟
سلام عزیز نه فعلا