saeed imani
saeed imani
خواندن ۳ دقیقه·۲ سال پیش

جنگو چیست ؟

جنگو یک فرم ورک برای ایجاد وب سایت با زبان پایتون می باشد. در واقع با استفاده از این فرم ورک ، انجام کار های نسبتا دشواری نظیر ارتباط با دیتابیس و جستجو ی اطلاعات و در یافت اطلاعات از دیتابیس به راحتی قابل انجام است . همچنین این فرم ورک یک سیستم لاگین آماده را شامل میشود که از لحاظ امنیتی هم قابل قبول می باشد . عملیات CRUD در این فرم ورک به آسانی قابل انجام است . پس استفاده از این فرم ورک کار ایجاد سایت را برای برنامه نویسان تا حدی آسان می کند و به برنامه نویس این امکان را می دهد که بیشتر تمرکز خود را روی طراحی سایت بگذارد و انجام کارهای ارتباط با دیتابیس و سیستم لاگین و پیاده سازی عملیات CRUD را برعهده ی این فرم ورک قرار دهد.

جنگو چگونه کار می کند؟


جنگو از الگوی طراحی MVT یا همان (Model , View , Template) پیروی می کند که در ادامه به توصیف هر آیتم خواهیم پرداخت.

Model :

در واقع مدل ، اطلاعات موجود در دیتابیس را برای ما فراهم می کند . Django از تکنیک ORM یا همان (Object Relational Mapping) برای دریافت اطلاعات از دیتابیس استفاده می کند و همین روش ارتباط با دیتابیس را راحت میکند . بدون استفاده از این روش ، نیاز است که ساختار دیتابیس مورد نظر را بشناسید و برای دریافت اطلاعات از دستورات دشوار دیتابیس استفاده شده ، بهره ببرید . پس ما در جنگو مدل های خود را به صورت یک شی در فایل models.py تعریف میکنیم که این شی شامل فیلد هایی می باشد.در واقع اگر فرض شود که از دیتابیس SQL استفاده شود، شی همان جدول و فیلد ها همان ستون های جدول هستند.

View :

ویو یک تابع است که یک درخواست http را به عنوان ورودی دریافت می کند.عملیات مورد نظر ،در بدنه ی این تابع نوشته می شود و زمانی که این تابع فراخوانی شود ، عملیات انجام می شود و داده ها برای نمایش به Template فرستاده می شود .برای هر Template باید یک view درون فایل views.py نوشته شود .

Template :

معمولا یک فایل html است که برای نمایش اطلاعات و خروجی تابع view متناظر آن ، به کار گرفته می شود .برای ایجاد template ابتدا باید یک فولدر به نام template ایجاد کنید و فایل html خود را درون این فولدر قرار بدهید.

URL:

برای جابه جا شدن بین صفحات یک سایت، نیاز به url داریم . در واقع هر تابع تعریف شده در فایل views.py و هر template متناظر با آن، توسط یک url جدا می شود تا مسیر اجرا شدن آنها مشخص باشد. در واقع client از طریق url به محتویات سایت دسترسی پیدا میکند . url ها باید در فایل urls.py مشخص شوند .

پس زمانی که client یک url را وارد میکند ، ابتدا در فایل urls.py ، ویو متناظر با آن url فراخوانی می شود .(گفتیم که view یک تابع است ) کد های درون بدنه ی این تابع اجرا شده و نتیجه ی خروجی در template متناظر با آن view نمایش داده می شود و client این خروجی را مشاهده می کند.

client url×فرم ورک×ارتباط×دیتابیس×

جنگو
شاید از این پست‌ها خوشتان بیاید