Django چیست؟
جنگو (Django) و تاثیر پایتون بر این فریم ورک:
اگر بخواهیم یک تعریف کلی و اجمالی از این ابزار داشته باشیم به این صورت خواهد بود: جنگو ( Django) یک چار چوب نرم افزاری تحت وب و متن باز است که نوشته شده به زبان پایتون میباشد و از معماری MVC (Model–view–controller)پیروی میکند پس کد های مربوط به کار با داده ها (model) و بخش کنترلی (controller) یا bussiness logic و بخش مربوط به رابط کاربر (view) از هم جدا می باشد ؛ که امکان طراحی و ایجاد بسیار سریع و آسان برنامه های تحت وب را فراهم می کند .هدف اصلی جنگو ساخت آسان سایتهای پیچیده و وابسته به دیتابیس است که بر پایه ی قابلیت استفاده مجدد و قابل اتصال بودن اجزای مختلف ظراحی شده است.
تاثیر پایتون بر این فریم ورک
کل این فریم ورک ( قالب یا فرمت استاندارد کاری است، ولی صرفا فرمت کاری نمیباشد بلکه دارای امکانات و ابزارهایی است که کار برنامه نویس را راحت تر کرده است.) ؛ با استفاده از زبان پایتون پیاده سازی شده است . پس ویژگی های خود را از زبان پایتون به ارث برده است . با استفاده از این فریم ورک امکان ایجاد وب سایت هایی حرفه ای و پیچیده در کمترین زمان ممکن است و همچنین با در نظر گرفتن مورادی چون امنیت و سرعت و … فراهم شده است . ویژگی های قابل تاکید زبان پایتون که تاثیر مهمی بر این فریم ورک دارند:
- انواع داده در پایتون داینامیک می باشد . پس شما نگرانی از تعریف نوع متغییر ندارید .
- پایتون روشهایی قدرتمند برای meta-programming در اختیار قرار می دهد . این ویژگی امکان ویرایش با اضافه کردن رفتار ها و توابع را با اشیا در زمان اجرای برنامه فراهم می کند .
- سینتکس زبان پایتون کوتاه و در عین حال واضح و قابل فهم می باشد . این بدین معنی هست که برای انجام کار های مشابه کدی بسیار کمتر لازم می باشد . برای مثال معمولا هر خط پایتون معادل ۱۰ خط در جاوا (Java) می باشد !!
- پایتون زبانی تفسیری بوده و برای اجرا نیازی به کامپایل ندارد . در برنامه نویسی وب با استفاده از این ویژگی بعد از تغییر کد یا ایجاد آن نتایج کار بلافاصله قابل مشاهده می باشد .
علاوه بر این ها جنگو خود روشهایی برای افزایش سرعت و سهولت برنامه نویسی همزمان با رعایت کامل موارد امنیتی و کارایی را دارا است .
ایجاد وب سایتی با طرح و ساختار ایده آل
جنگو با استفاده از قوانین از پیش تعیین شده و روش هایی مختلف باعث ایجاد برنامه هایی با ساختار ایده آل میگردد . بنابراین نگهداری و توسعه برنامه های نوشته شده با این فریم ورک بسیار آسان تر خواهد بود . جنگو از ایجاد برنامه هایی با آمیختگی و روابط نادرست جلوگیری می کند . با استفاده از این ویژگی، برنامه به بخش هایی مستقل و مجرا تقسیم می شود که هر یک بدون نیاز به اعمال تغییرات در بقیه قسمت ها قابل تغییر بوده با استفاده از روابط (API) واضح و بهینه با یکدیگر در ارتباط هستند . برای مثال سیستم ظاهر نمایشی (templates) هیچ گونه اطلاعاتی از سیستم پایگاه داده و ذخیره اطلاعات یا لایه مربوطه به پاسخگویی به درخواست های کاربران یا نهان سازی اطلاعات برای استفاده های بعدی (cache) ندارد . هر کدام از این بخش ها بصورت جداگانه بوده و در صورت نیاز با استفاده از رابط هایی با یکدیگر تبادل اطلاعات کرده یا درخواستی را ارسال می کنند.
چرا شما به فریم ورک نیاز دارید؟
برای اینکه واقعا بفهمیم جنگو چیست و چه کاربردهایی دارد باید به سرور ها دقت کنیم . اولین قدم و مهمترین کار یک سرور ؛ به نمایش گذاشتن یک صفحه وب میباشد . شما یک صندوق پستی را تصور کنید که نامه ها را دریافت کرده و سپس میخواند . این وظیفه یک سروراست . بعد از خواندن نامه ها یکی یکی صفحاتی که درخواست شده را به نمایش میگذارد . اما وقتی میخواهید چیزی را ارسال کنید، باید محتوایی داشته باشید. و جانگو این امکان را در ایجاد محتوا فراهم میسازد.
سرور های قابل استفاده جنگو
Django با استفاده از ماژول mod_python بخوبی بر روی وب سرور آپاچی (apache) اجرای می گردد . همچنین بر روی تمامی سروی هایی که از WSGI حمایت کنند (اکثر سرور های موجود) قابل اجرا است . همچنین جنگو توانایی راه اندازی سرور FastCGI را دارا می باشد که بدین تریتب قابل استفاده در داخل هر وب سروری از FastCGI پشتیبانی میکند ؛ سرورهای زیر بطور رسمی پشتیبانی می شود و با استفاده از جنگو قابل اسفتاده می باشد.
- SQLite
- PostgreSQL
- Oracle
- MySQL
تبدیل از django به Json
به کمک این بسته میتوانید فایل های Django را به فایل Json تبدیل کنید. http://pypi.python.org/pypi/djason/0.1
چه اتفاقی می افتد وقتی کسی از یک سرور وب سایت شما درخواست می کند؟
هنگامی که درخواست به یک وب سرور ارسال میشود، به جنگو منتقل شده و تلاش میکند تا دستور ارسال شده را بفهمد. ابتدا آدرس صفحه وب را پیدا کرده که توسظ قسمت urlresolver Django انجام می شود. یک لیست از الگوها را می گرفته و URL را مطابقت میدهد . جانگو الگوها را از بالا به پایین بررسی می کند و در صورت هماهنگ بودن با درخواست کاربر ، جانگو درخواست را به تابع مربوطه می فرستد .مانند کار یک پستچی که طبق آدرس، نامه ها را به مقصد میرساند. پس متوجه کار با urlresolver شدیم!
سخن پایانی
در کل همین قدر بدانیم که جنگو فریم ورکی و یا به زبان ساده تر یک کتابخانه ای پر از کد است که قواعد استفاده خاص خودش را دارد و این قابلیت را به استفاده کننده میدهد تا در طراحی سایت با پایتون وقت کمتری را هدر بدهد . این فریم ورک با استفاده از ویژگی های ذاتی و روش های جدید و موثر در ایجاد وب سایت ها فراهم شده است . مهمتر از همه تمامی بخش های این فریم ورک آزاد بوده و بصورت رایگان در دسترس تمامی افراد قرار دارد . هم اکنون سایت های بسیاری چون سایت واشنگتن پست یا سیستم رای گیری گنگره کشور امریکا از این فریم ورک استفاده می کنند.

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