کتابخانه Django در پایتون

کتابخانه Django در پایتون

Django یا جانگو یک framework سطح بالای پایتون است که به توسعه سریع و طراحی تمیز و کارآمد صفحات وب بسیار کمک می کند. این کتابخانه توسط برنامه نویسان  با تجربه ای ایجاد شده است، که بسیاری از مشکلات توسعه دهندگان وب سایت را درنظر گرفته اند، بنابراین شما می توانید بدون نیاز به اختراع مجدد چرخ بر روی نوشتن برنامه خود تمرکز کنید. این کتابخانه رایگان و متن باز (open source) است.

کتابخانه Django
کتابخانه Django در پایتون

زمانی که شما در حال ساخت یک وب سایت هستید، همیشه به مجموعه ای از componentها نیاز دارید: ابزار و یا روشی برای احراز هویت کاربر (ثبت نام، ورود به سیستم، خروج از سیستم)، یک پنل مدیریت برای وب سایت شما، فرم ها، یک راه برای آپلود فایل ها و غیره.

شانس ما این است که از زمان گذشته برنامه نویسان و توسعه دهندگان برنامه های تحت وب و وب سایت ها با این مسائل روبرو بوده اند و از این رو framework هایی را با ابزارهایی آماده استفاده تهیه کرده اند. که البته کتابخانه Django یکی از آنها است.

چرا ما به frameworkها نیاز داریم؟

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

به عنوان مثال یک mailbox (port) را تصور کنید که منتظر دریافت یک نامه یا email است (request). این کار توسط web serverیا سرویس دهنده های وب انجام می شود. سرورهای وب نامه را خوانده و پاسخ را توسط یه صفحه وب ارسال می کنند. ولی زمانی که می خواهید چیزی را ارسال کنید، اولین چیزی که نیاز دارید محتوی است. و Django ابزاری است که شما را در تولید این محتوا کمک می کند.

چه اتفاقی می افتد زمانی که کسی درخواست سایتی را از سرور دارد؟

زمانی که درخواستی به وب سرور می رسد، به Django منتقل می شود تا متوجه شود درخواست درواقع چیست. به عنوان اولین قدم آدرس صفحه وب بررسی می شود تا متوجه شود قدم بعدی چیست. در کتابخانه Django این کار توسط urlresolver انجام می شود. همانطور که می دانید آدرس وب سایت را URL می گوییم که مخفف Uniform Resource Locator است و در نتیجه کلمه urlresolver معنادار خواهد بود. این عمل چندان هم هوشمند نیست. Django یک لیست از الگوها را می گیرد و تلاش می کند URL را با آنها مطابقت دهد. Django الگوها را از بالا به پایین بررسی می کند و اگر موردی مطابقت داشته باشد، درخواست را به تابع مربوطه می فرستد (که همان view است).

پستچی ای را تصور کنید که  از بالا به پایین خیابانی در حرکت است و شماره یا همان پلاک تک تک خانه ها را بررسی می کند. اگر هریک از این اعداد یا پلاک ها با پلاک درج شده برروی نامه مطابقت داشته باشد پستچی نامه را همانجا می گذارد. و این کار دقیقا روش عملکرد urlresolver است.

تمامی کارهای جذاب در قسمت یا تابع view انجام می شود. ما می توانیم به دنبال پایگاه داده ای باشیم که اطلاعاتی را بازیابی و استفاده کنیم. شاید کاربر درخواست تغییراتی را در این اطلاعات داشته باشد. مشابه این که در متن نامه آمده باشد “لطفا عنوان شغلی مرا تغییر دهید”. view می تواند بررسی کند که آیا شما مجوز انجام این کار را دارید، تغییر عنوان شغلی را برای شما انجام داده و با برگرداندن عبارت “Done” نتیجه را به شما اعلام کند. و نهایتا view پاسخ و یا response را آماده کرده و Django می تواند آن را به مرورگر وب کاربر ارسال کند.

شاید مثال ها و توضیحات فوق کمی ساده سازی شده باشند ولی در واقع شما نیاز ندارید همه جزئیات فنی را بدانید و بهتر است بیشتر به نحوه استفاده از آن تمرکز کنید.

مزایای استفاده از Django چیست؟

به طور خنده داری سریع است: کتابخانه Django برای آن طراحی شده است که توسعه دهندگان وب بتوانند در سریع ترین حالت ممکن مفاهیم را به برنامه تبدیل کنند.

کاملا لود شده: کتابخانه Django دارای ده ها ابزار اضافی است که شما می توانید از آنها برای انجام Task های توسعه وب سایت خود استفاده کنید. Django از تأیید هویت کاربر، مدیریت محتوا، نقشه سایت، خوراک RSS و بسیاری کارهای دیگر پشتیبانی می کند (right out of the box).

کاملا ایمن و مطمئن: کتابخانه Django موارد امنیتی را به طور جدی رعایت می کند و به توسعه دهندگان کمک می کند تا از بسیاری از اشتباهات امنیتی معمول جلوگیری کنند، SQL injection, cross-site scripting, cross-site request forgery و clickjacking. سیستم احراز هویت کاربر در این کتابخانه یک راه امن برای مدیریت حساب های کاربری و رمزهای عبور فراهم می کند.

فوق العاده مقیاس پذیر یا scalable: برخی از شلوغ ترین سایت های دنیا از قابلیت های Django برای آنکه بتوانند به سرعت و انعطاف بالا ترافیک های سنگین را کنترل کنند،  استفاده می کنند.

همه کاره: شرکت ها، سازمان ها و دولت ها از کتابخانه Django برای ساخت انواع موارد مورد نیاز خود از قیبل سیستم های مدیریت محتوا به شبکه های اجتماعی تا سیستم عامل های محاسباتی علمی استفاده کرده اند.

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

نصب کتابخانه Django

نصب این کتابخانه همانند نصب سایر پکیج ها و کتابخانه ها در پایتون بسیار ساده است. در صورتی که از venv استفاده می کنید بهتر است در خصوص توسعه وب venv یا همان virtual environment مشخصی داشته باشید. در اینجا با فرض این که در venv با نام pythonhome.ir هستیم فقط کافی است دستور pip install django را اجرا کنید. نتیجه در تصویر زیر مشخص است:

نصب کتابخانه Django

البته در خصوص تصویر فوق بعد از نصب کتابخانه Django پکیج pip  را هم بروزرسانی کردیه ایم که البته الزامی نیست.

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

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *