فریمورک جنگو چیست؟ بررسی ساختار، معماری، مدلها و مزایای جنگو
تاریخ انتشار: ۷ اسفند ۱۴۰۱ | کد خبر: ۳۷۲۰۹۳۴۵
به گزارش خبرگزاری آنا، جنگو چیست یا بهتر سوال کنیم فریمورک جنگو چیست؟ Django یک فریمورک با معماری MTV میباشد که برای ساخت اپلیکیشنهای وب مورد استفاده قرار میگیرد. جنگو برنامهنویسان وب را قادر میسازد تا کدهای تمیز، کارآمد و قدرتمند بنویسند. علاوه بر اینکه در لیست محبوبترین فریمورکهای وب جهان حضور دارد، جنگو یکی از پر استفادهترین تکنولوژیها برای توسعه وب میباشد.
بیشتر بخوانید:
اخباری که در وبسایت منتشر نمیشوند!
ساختار کاری جنگو به چه شکل است؟ معماری MVT
جنگو از معماری سه لایه MVT استفاده میکند که مخفف Model -View – Template میباشد. این معماری نوع تغییر داده شده MVC برای فریمورک جنگو بوده و به آن بسیار شبیه است. هنگامی که سرور جنگو، یک request (درخواست) دریافت میکند، مسیریاب URL آن request را به view مناسب هدایت میکند. سپس لایه view داده را از لایه model دریافت میکند و با استفاده از متدها و فانکشنهایی که در آن نوشته میشود، لایه template را پر میکند و آنرا به کاربر ارسال میکند.
کلیک کنید : بهترین دوره آموزش جنگو (Django) به زبان فارسی
معماری MVT در جنگو چیست؟
وقتی که در مورد برنامههای کاربردی که از واسط کاربری برخوردارند (برنامههای تحت وب یا Desktop) صحبت میشود، منظور معماری مدل-نمایش-کنترلگر یا MVC است. همانطور که از نام این معماری مشخص است، معماری MVC از سه مؤلفه اصلی یعنی «مدل» (Model)، «نمایش» (View) و «کنترلگر» (Controller) تشکیل شده است. معماری MVT، کمی متفاوتتر از معماری MVC است؛ در اصل، تفاوت بنیادی میان این دو معماری این است که در مدل MVT، کتابخانه Django مدیریت مؤلفه Controller را بر عهده میگیرد (مؤلفه Controller، کد نرمافزاری است که تعامل میان مؤلفههای Model و View را کنترل میکند. آموزش شبکه
منظور از Model در جنگو چیست و چند مدل داریم؟
در فریمورک جنگو با استفاده از مدل قدرتمند و بسیار مفید ORM، انجام عملیات مختلف با دیتابیس بسیار ساده شده و پروسه توسعه تسریع یافته است. ORM مخفف Object-Relational-Mapping است و بدون آن، توسعه دهنده باید تمامی جداول را خودش ایجاد کند و برای انجام هرگونه عملیات با دیتابیس، کوئری مربوطه را باید خودش بنویسد که گاها این روند میتواند در پروژههای بزرگ بسیار پیچیده و کسل کننده باشد. ORM به شما این امکان را میدهد تا تمامی کوئریهای دیتابیس را با دستورات ساده پایتون اجرا کنید و همچنین متدهای آمادهای در آن برای پیادهسازی عملیات crud با دیتابیس تعبیه شدند. در حقیقت، برنامهنویس نیازی ندارد تا به تمامی روشهای پیچیده SQL را یکجا مسلط باشد. برخلاف سایر فریمورکها، تمامی مدلها در یک فایل به اسم models.py قرار میگیرند و همین مورد میتواند در روند توسعه پروژههای بزرگ بسیار مفید و کارآمد باشد. Django
کلیک کنید : بهترین دوره آموزش جاوا (Java) به زبان فارسی
منظور از Template در جنگو چیست؟
لایه template مشابه لایه view در معماری MVC است و هدف آن نمایش داده و اطلاعات به کاربر بوده و در حقیقت منطق ظاهری برنامه (Display Logic) میباشد. اگر شما با templating در زبانها و فریمورکهای دیگر از جمله لاراول آشنا باشید، تقریبا در جنگو هم به این شکل است. شما از یک سینتکس مشابه HTML استفاده میکنید که بعدا به HTML کامپایل میشود و شامل تمامی دادههای مربوطه میباشد. البته که فرمتهای غیر HTML هم وجود دارند، مثلا اگر خواستید میتوانید از سندهای XML یا فایلهای JSON و … استفاده کنید. آموزش لینوکس
منظور از View در جنگو چیست؟
View در جنگو لایه بیزینس از معماری سه لایه MVT است. این لایه شامل فانکشنها و متدهایی میشود که موجب دریافت و پردازش درخواست کاربر و ارسال نتیجه معتبر برای کاربر میشود. این لایه داده را از Model دریافت میکند و به هر کدام از template ها دسترسی به داده خاصی را میدهد.
کلیک کنید : بهترین دوره آموزش C++ ( سی پلاس پلاس ) به زبان فارسی
مزایای استفاده از فریمورک جنگو چیست؟
پشتیبانی از انواع کامپوننتها : همچنین جنگو تقریباً برای هر عملکردی که بخواهید گزینههایی را برای شما فراهم میکند (به عنوان مثال چندین پایگاه داده معروف، موتورهای templating و غیره)، همچنین میتوان در صورت لزوم از سایر مولفههای مورد نیاز نیز استفاده کرد. مقیاس پذیر بودن : جنگو از معماری مبتنی بر مولفه “عدم اشتراک گذاری (shared-nothing)” استفاده میکند. بدین معنا که هر قسمت از معماری مستقل از قسمتهای دیگر است و بنابراین میتواند در صورت لزوم جایگزین شده یا تغییر کند.
امنیت : جنگو با ارائه یک فریمورک قدرتمند جهت محافظت خودکار از وب سایت طراحی شده است و به توسعه دهندگان کمک میکند تا از بسیاری از اشتباهات معمول امنیتی جلوگیری کنند. به عنوان مثال، جنگو یک روش ایمن برای مدیریت حسابهای کاربری و رمزهای عبور کاربر، اجتناب از اشتباهات رایج مانند قرار دادن اطلاعات جلسه (Sessions) در کوکیها و در جاهایی که آسیب پذیر میباشد یا ذخیره مستقیم رمزهای عبور به جای هش نمودن آنها و… فراهم میکند. همچنین جنگو به طور پیش فرض از بسیاری از آسیب پذیریها نیز محافظت میکند، از جمله تزریق SQL، برنامه نویسی بین سایت، جعل درخواست بین سایت و کلیک کردن و… .امکان گسترش منابع : وجود یک تفکیک واضح بین قسمتهای مختلف به این معنی است که میتواند با افزودن سخت افزار در هر سطح، افزایش سرورهای ذخیره، سرورهای پایگاه داده یا سرورهای برنامه، امکان افزایش تعداد بازدیدکنندگان و در نتیجه افزایش رتبه seo سایت را ایجاد کند. بسیاری از سایتهای پرترافیک از جنگو استفاده کرده اند تا خواستههای آنها را برآورده کند (به عنوان مثال Instagram و Disqus و … قابلیت ارتقا و نگهداری : کد جنگو با استفاده از اصول و الگوهای طراحی نوشته میشود که ایجاد کد قابل نگهداری ساده برای طولانی مدت و قابل استفاده مجدد را فراهم میکند. همچنین جنگو از اصول DRY یا Don’t Repeat Yourself استفاده میکند بنابراین هیچ کپی غیرضروری وجود ندارد، و میزان کدنویسی را کاهش میدهد. همچنین جنگو از فابلیت MVC نیز پشتیبانی میکند.
پنل مدیریت : هنگام نصب برنامه، پنل مدیریت جنگو به طور خودکار نصب میشود. این باعث میشود که توسعه دهنده نیازی به ایجاد دستی پنل مدیریت نداشته باشد. با استفاده از برنامههای شخص ثالث، کنسول مدیریت پیش فرض جنگو میتواند بهبود یافته و متناسب با نیازهای پروژه شما سازگار شود. مستندات زیادی برای فریم ورک Django موجود است : Django در شروع کار خود بیش از هر پروژه ی Open Source دیگری تحقیقات و مقالات ارائه شده دارد و این آمار در طول زمان بهتر و بیشتر هم شده است. در ابتدای ارائهی این فریم ورک، همین مستندات موجود بود که این برنامه را خاص میکرد. بیشتر فریم ورک های دیگر، از یک سیستم الفبایی برای ارائه ماژول ها و ویژگی ها استفاده می کردند. این رویه برای رجوع سریع مناسب است اما در زمانی که شما به دنبال انجام کاری مفید باشید، کمکی به شما نمی کند. دسترسی کافی به Packageهای Django وجود دارد : جامعه ی Django، درست مثل جامعه یPython، ابزار ها و Package های زیادی برای کاربران فراهم کرده است. کلمه ی Django را در PyPI تایپ کنید و بیش از ۴۰۰۰ Package موجود برای کاربران در اختیار شما قرار خواهد گرفت. این فریم ورک تقریبا تمامی ویژگی ها و امکاناتی را که شما دنبال آن هستید را در خود جای داده است. منبع : وب سایت توسینسو
انتهای پیام/
منبع: آنا
کلیدواژه: فریم ورک
درخواست حذف خبر:
«خبربان» یک خبرخوان هوشمند و خودکار است و این خبر را بهطور اتوماتیک از وبسایت ana.press دریافت کردهاست، لذا منبع این خبر، وبسایت «آنا» بوده و سایت «خبربان» مسئولیتی در قبال محتوای آن ندارد. چنانچه درخواست حذف این خبر را دارید، کد ۳۷۲۰۹۳۴۵ را به همراه موضوع به شماره ۱۰۰۰۱۵۷۰ پیامک فرمایید. لطفاً در صورتیکه در مورد این خبر، نظر یا سئوالی دارید، با منبع خبر (اینجا) ارتباط برقرار نمایید.
با استناد به ماده ۷۴ قانون تجارت الکترونیک مصوب ۱۳۸۲/۱۰/۱۷ مجلس شورای اسلامی و با عنایت به اینکه سایت «خبربان» مصداق بستر مبادلات الکترونیکی متنی، صوتی و تصویر است، مسئولیت نقض حقوق تصریح شده مولفان در قانون فوق از قبیل تکثیر، اجرا و توزیع و یا هر گونه محتوی خلاف قوانین کشور ایران بر عهده منبع خبر و کاربران است.
خبر بعدی:
بررسی و تصویب ۵ طرح بهبود و توسعه میادین نفت و گاز کشور
به گزارش خبرگزاری مهر، نخستین جلسه شورای اقتصاد در سال ۱۴۰۳ بعدازظهر امروز (چهارشنبه) به ریاست معاون اول رئیس جمهور برگزار و ۵ درخواست وزارت نفت برای توسعه میادین نفت و گاز خصوصاً در مناطق مشترک با کشورهای همسایه مورد بررسی و تصمیم گیری قرار گرفت.
محمد مخبر در این جلسه با تأکید بر لزوم ارائه مباحثی اساسی و زیرساختی در شورای اقتصاد گفت: مهمترین معیار برای برنامهریزی اقتصادی کشور انتخاب شعار سال توسط مقام معظم رهبری است که باید ریل گذاری اقتصادی در این راستا انجام پذیرد.
معاون اول رئیس جمهور ضمن تاکید بر ارائه گزارشی دقیق از وضعیت اجرای شعار سال گذشته در جلسه آتی، ادامه داد: در دولت برنامهای برای تحقق شعار امسال با عنوان «جهش تولید با مشارکت مردم» تهیه و تصویب شده که باید در جلسات آتی شورای اقتصاد نحوه اجرای آن مورد بررسی قرار گرفته و به صورت دائم پایش شود.
وی با تأکید بر اینکه در زمینه تحقق جهش تولید اقدامات و تصمیمات بسیار خوبی در دولت اتخاذ شده، تصریح کرد: باید برای افزایش مشارکت مردمی در راستای جهش تولید نیز با کمک مجلس شورای اسلامی برنامهها و طرحهای لازم پیش بینی شود تا مردم بدانند مشارکت مردمی در اقتصاد و تولید چگونه امکان پذیر و عملیاتی است.
وی خاطرنشان کرد دولت سیزدهم در ابتدای سال جاری با همکاری اتاق بازرگانی، اتاق تعاون، سازمانهای مردم نهاد و جریانهای فعال اقتصادی در حال تسریع و آماده سازی بسترهای لازم برای حضور مردم در اقتصاد و بهره گیری از امکانات و ظرفیتهای موجود است.
مخبر در این جلسه که رئیس دفتر رئیس جمهور، وزرای جهاد کشاورزی، نفت، تعاون، کار و رفاه اجتماعی، رؤسای سازمان برنامه و بودجه و بانک مرکزی، نمایندگان مجلس شورای اسلامی و مسئولان مربوطه حضور داشتند، بر ضرورت اجرای هر چه سریعتر طرحهای توسعهای میادین مشترک نفت و گاز تاکید کرد و در ادامه طرح «افزایش سقف اعتباری و زمانی قراردادهای طرح توسعه میدان گاز پارس جنوبی» و همچنین طرح «احداث مخزنگاه شهید مهدوی بندرعباس» تصویب شد.
همچنین کلیات طرح «توسعه و بهره برداری میادین نفت سامان و دلاوران»، طرح «بهبود بازیافت، افزایش تولید و انجام عملیات بهره برداری یکپارچه میدان مشترک نفتی آزداگان» و طرح «بهبود بازیافت و افزایش تولید و بهره برداری میدان مشترک نفتی آذر» مورد بررسی قرار گرفت و مقرر شد پس از برگزاری جلسات مشترک وزارت نفت و سازمان برنامه و بودجه در خصوص جزئیات طرحهای مذکور، تصمیمات جلسه ابلاغ شود.
گفتنی است درخصوص طرح توسعه میدان گاز پارس جنوبی با افزایش مبلغ اعتباری به میزان ۳/۰۷ میلیارد دلار، ۲۱ حلقه چاه تکمیل و ۴۲ میلیون متر مکعب گاز روزانه به ظرفیت کشور اضافه میشود.
کد خبر 6094537 محمد مهاجرانی