فریمورک جنگو (Django)چیست ؟

فریمورک جنگو (Django)چیست ؟

فریمورک جنگو یکی از فریمورک های تحت وب و محبوب پایتون میباشد که به ما امکان ایجاد برنامه های تحت وب را با زبان پایتون میدهد, فریمورک Django از معماری MVT (Model-View-Template) استفاده میکند به این صورت که هر درخواست که به سمت وبسایت شما می آید در ابتدا در دیتابیس محتوای مورد نیاز را جست و جو و واکشی میکند و پس از آن یک view اطلاعات داده شده از دیتابیس را به یک template که همان صحفه html است ارسال میکند و کاربر محتوا را مشاهده میکند در این مقاله فریمورک جنگو (Django)  و نحوه ی ایجاد یک پروژه در جنگو و خروجی گرفتن یک صفحه با جنگو را بررسی خواهیم کرد و در تمامی موارد معماری جنگو را بررسی خواهیم کرد پس همراه سان لرن باشید

فریمورک جنگو (Django):

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

تقریبا جنگو برای هرکاری که بخواهید برای داشتن یک وبسایت قدرتمند نیاز باشد انجام دهید را به طور پیشفرض درون خود به صورت اپ هایی قرار داده است که بتوانید با استفاده از آن ها پروژه ی خود را به سرعت توسعه دهید 

ویژگی های فریمورک جنگو(Django):

یک فریمورک متن باز یا همان Open Source میباشد: فریمورک جنگو یک فریمورک متن باز یا اوپن سورس میباشد که به صورت رایگان در اختیار همه ی کاربران قرار گرفته است و این خود یک نکته ی مثبت برای این فریمورک میباشد

امنیت بالا: همانطور که گفتیم جنگو یک فریمورک قدرتمند است و وقتی شما از این فریمورک استفاده میکنید به طور پیشفرض از حملات امنیتی بسیاری جلوگیری میکند برای مثال جنگو از حمله ی CSRF با قرار دادن یک تگ در فرمی که برای سرور ارسال میشود جلوگیری میکند و میتوان از سایر موارد به مدیریت سشن ها  و ورود و خروج کاربر نیز اشاره کرد

مناسب بودن برای سئو:  وقتی شما یک وبسایت را پیاده سازی میکنید سئو یکی دیگر از مواردی است که باید آن را درنظر بگیرید و جنگو در اعمال سئو وبسایت شما هم بسیار نقش کلیدی دارد برای مثال شما میتوانید Url های سئو پسندانه ای با جنگو پیاده سازی کنید

داشتن یک جامعه گسترده: یکی دیگر از راه های فهمیدن محبوبیت فریمورک جنگو داشتن یک جامعه بسیاری از برنامه نویسان میباشد و شما دیگر نگران این نیستید که اگر به مشکلی بر بخورید ممکن است روز ها طول بکشد که مشکل شما حل شود با یک سرچ ساده به جواب خود خواهید رسید

پشتیبانی از دیتابیس های مختلف: به طور پیشفرض جنگو از بسیاری از دیتابیس ها نظیر Postgresql,MySql,Sqlite و غیره نیز پشتیبانی میکند و از همه مهم تر یک ORM   قدرتمند برای شما دارد که شما میتوانید بدون داشتن دانش زیادی درباره ی زبان SQL دیتابیس خود را ایجاد و از آن اطلاعات را استخراج کرده و به کاربر نشان دهید فقط کافیه شما کد پایتونی نوشته و جنگو آن را برای شما به کد Sql به طور پیشفرض تبدیل میکند

پنل ادمین پیشفرض:  وقتی پروژه ی جنگو ایجاد میکنید فریمورک جنگو برای شما یک پنل ادمین ایجاد کرده و در اختیار شما قرار میدهد و شما خیلی راحت میتوانید در این پنل ادمین اعمال مربوط به حذف کردن و آپدیت کردن و ایجاد کردن, دیدن  دیتا های خود را در دیتابیس خود انجام دهید و دیگر نیاز به نوشتن کد تکراری برای ایجاد یک پنل ادمین نیست نام این چهار عملیات به اصطلاح CRUD نامیده میشود مخفف (CREATE,READ,UPDATE,DELETE)

مقیاس پذیری: فریمورک Django بسیار مقیاس پذیر است یعنی به این منظور که شما میتوانید از جنگو برای نوشتن پروژه های کوچک و بزرگ استفاده کنید

پشتیبانی از زبان فارسی و قابلیت ترجمه:  این فریمورک قدرتمند از زبان فارسی نیز پشتیبانی میکند و شما میتوانید با تنها اضافه کردن زبان مورد نظر خود پنل ادمین و تمامی ارور ها و پیغام های خود را در این فریمورک به زبان مورد نظر خود و همچنین زبان فارسی نیز تبدیل کنید و از همه مهم تر شما میتوانید به سادگی سایت های چند زبانه نیز داشته باشید

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

ایجاد Api با روشی بسیار ساده از طریق Django Rest Framework: شما همچنین میتوانید خیلی راحت و ساده فقط با نصب کردن 

Django Rest Framework روی پروژه ی جنگوی خود Api های لازم برای پروژه خود به سریع ترین روش ایجاد کنید جهت آشنایی بیشتر با این فریمورک

پیشنهاد میشود از مقاله و دوره Django Rest Framework در وبسایت سان لرن دیدن کنید

معماری جنگو(MVT):

اگر با سایر فریمورک های زبان های دیگر کار کرده باشید شاید  به معماری MVC  برخورد کرده باشید جنگو نیز برای اپلیکیشن های خود یک معماری طراحی کرده است که نرم افزار تحت وب شما به سه بخش در این معماری تبدیل میشود

اجزاری معماری MVT:

  • Model:  این بخش از معماری نرم افزار شما مربوط به بک اند شما و طراحی و پیاده سازی پایگاه داده شما میباشد
  • View : این بخش از معماری مسئول بخش عملیات و منطق و حتی واکشی اطلاعات از Model شما میباشد
  • Template: این بخش از معماری جنگو همان فایل خروجی و یا همان فرانت اند  وبسایت شما است که به کاربر نمایش داده میشود و معمولا فایل های استاتیک و صفحات Html هستند که کاربر در مرورگر خود آن ها را مشاهده میکند

نحوه ی کارکردن معماری MVT در جنگو:

  1. ابتدا درخواست کاربر به سرور ارسال میشود
  2. جنگو بنا به درخواست کاربر که یک آدرس یا Url وارد کرده است view مورد نظر را که به این آدرس متصل است و مسئول مدیریت این آدرس است را فراخوانی میکند
  3. پس از آن view مورد نظر اگر نیاز باشد که اطلاعاتی از دیتابیس را استراخ کرده 
  4. در انتها view مورد نظر یک صفحه html را به کاربر نمایش میدهد که شامل اطلاعاتی است که کاربر درخواست کرده است و یا  کاربر میتواند از طریق template اطلاعاتی را به view ارسال کند

نصب و راه اندازی جنگو(Django):

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

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

برای باز کردن CMD کلید های win + r را همزمان بزنید

cd Desktop
mkdir test
cd test

 در ابتدا وارد Desktop خود شدیم و با استفاده از دستور mkdir یک فولدر برای خود با CMD ایجاد کردیم و به استفاده از دستور cd به درون آن فولدر رفتیم

python -m venv venv

در ادامه با استفاده از ماژول Venv  یک پایتون مجازی برای پروژه خود ایجاد کردیم حال نیاز است که این محیط را فعال کنیم و جنگو را روی این پایتون مجازی نصب کنیم که پایتون پروژه ما از پایتون سیستم ما مستقل باشد

cd venv
cd Scripts
activate.bat

حال به ترتیب این دستورات را وارد میکنیم 

  • در ابتدا باید وارد venv شویم 
  • پس از آن باید وارد فولدر Scripts شویم که فایل پایتونی که میخواهیم اکتیو کنیم در آن قرار دارد
  • سپس با نوشتن activate.bat پایتون ما فعال میشود 
 .. cd
 .. cd
pip install django

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

سپس با استفاده از pip جنگو را نصب میکنیم

ساخت پروژه جنگو و اجرای آن:

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

django-admin startproject sunlearn-project
cd sunlearn-project
python manage.py runserver
  • دستور django-admin startproject, برای ساخت یک پروژه جنگو استفاده میشود و باید بعد از نوشتن این دستور یک نام وارد کنید که آن نام پروژه ی شما خواهد بود ما در اینجا sunlearn-project را به عنوان نام پروژه خود انتخاب کرده ایم
  • سپس برای ما یک فولدر ایجاد میشود و وارد آن فولدر میشویم 
  • با دستور python manage.py runserver  پروژه جنگویی ما اجرا میشود و میتوانید در مرورگر خود آدرس 127.0.0.1:8000 را وارد کنید و خروجی ابتدایی جنگو را مشاهده کنید

یادگیری جنگو:

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

آموزش رایگان مقدماتی فریمورک جنگو(Django)

جمع بندی:

جنگو (Django) یک  فریمورک قدرتمند برای پیاده سازی بک اند وبسایت شما میباشد و شما میتوانید پروژه های خود را در کمترین زمان ممکن پیاده سازی کنید و از همه مهم تر از لحاظ امنیتی دیگر مشکلی برای شما پیش نخواهد آمد, قدرت دیگر جنگو بر این است که بر اساس زبان برنامه نویسی پایتون نوشته شده است و شما میتوانید از قدرت پایتون و کتابخوانه های غنی آن در پروژه ی خود استفاده کنید پیش پیشنهاد سان لرن به شما این است که هرچه زودتر به یادگیری این فریمورک قدرتمند بپردازید برای مطالعه بیشتر میتوانید به داکیومنت جنگو نیز مراجعه کنید

داکیومنت Django

 

نظرات

نظر خود را اینجا بگذارید

برای درح نظر ابتدا وارد شوید !