کتاب Django 5 By Example شما را در همهی مراحل توسعهی و برنامه نویسی باجنگو همراهی میکند. تمرکز اصلی آن، آموزش نحوهی کار فریمورک Django از طریق ساخت چندین پروژه از ابتدا است. این کتاب نهتنها جنبههای مهم فریم ورک را پوشش میدهد، بلکه اموزش میدهد چگونه میتوان Django را در موقعیتهای متنوع واقعی به کار برد.
علاوه بر آموزش Django، کتاب به تکنولوژیهای محبوب دیگری مانند PostgreSQL، Redis، Celery, RabbitMQ و Memcached نیز میپردازد. در طول مطالعه، میآموزید چگونه این فناوریها را در پروژههای Django ترکیب کنید تا قابلیتهای پیشرفته ایجاد کنید و وبسایتهای پیچیده بسازید.
Django 5 By Example شما را بهصورت گامبهگام در مسیر ایجاد برنامههای واقعی، حل مشکلات معمول و بهکارگیری بهترین روشها(best practices) پیش میبرد. پس از خواندن این کتاب، درک خوبی از عملکرد Django خواهید داشت و میتوانید برنامههای کاملی با Python بسازید.
کتاب آموزشی Django by Example برای چه کسانی است؟
این کتاب برای برنامهنویسانی است که بهتازگی با Django آشنا شدهاند و میخواهند آن را بهصورت عملی یاد بگیرند و نمونه پروژه های جنگو را بصورت قدم به قدم انجام بدهند. اگر Python را بلد هستید و میخواهید آموزش کار با Django را از پایه تا سطح پیشرفته فرا بگیرید، این کتاب برای شما مناسب است. شاید کاملاً تازهکار باشید یا کمی تجربه داشته باشید و بخواهید بیشترین بهره را ببرید. این کتاب شما را با بخشهای مهم فریمورک آشنا میکند و بهکمک پروژههای عملی از صفر، مهارت شما را بالا میبرد. برای استفاده از این کتاب باید با مفاهیم برنامهنویسی پایتون آشنا باشید. علاوه بر دانش پایهٔ Python، کمی آشنایی با HTML و JavaScript هم فرض شده است.این کتاب چه مطالبی را پوشش میدهد؟
کتاب طیف گستردهای از موضوعات مربوط به توسعهٔ سایت و api با Django را در بر میگیرد. شما در طول ۱۷ فصل، چهار پروژهٔ کامل میسازید:
-
طراحی پروژه وبلاگ با جنگو (فصلهای ۱ تا ۳)
-
طراحی سایت بوکمارک تصویر با جنگو (فصلهای ۴ تا ۷)
-
طراحی سایت فروشگاه آنلاین با جنگو (فصلهای ۸ تا ۱۱)
-
طراحی یک پلتفرم آموزش الکترونیکی با جنگو (فصلهای ۱۲ تا ۱۷)
فصل های کتاب django by example
-
فصل ۱، ساخت برنامهٔ وبلاگ: با چارچوب آشنا میشوید و مدلها، viewها، templateها و URLهای اصلی وبلاگ را میسازید. نحوهٔ ساخت QuerySet با ORM Django و پیکربندی سایت مدیریت را یاد میگیرید.
-
فصل ۲، ارتقای وبلاگ: صفحهبندی، viewهای مبتنی بر کلاس، ارسال ایمیل، کار با فرمها و model formها و سیستم نظردهی را به وبلاگ اضافه میکنید.
-
فصل ۳، گسترش وبلاگ: نحوهٔ استفاده از برنامههای شخص ثالث، ساخت سیستم برچسبگذاری، ایجاد QuerySetهای پیچیده برای پیشنهاد پستهای مشابه، ایجاد تگها و فیلترهای سفارشی template، استفاده از فریمورک sitemap، ساخت RSS feed و ایجاد موتور جستوجو با قابلیت جستوجوی متن کامل PostgreSQL را میآموزید.
-
فصل ۴، ساخت وبسایت اجتماعی: viewهای احراز هویت کاربران و استفاده از فریمورک احراز هویت Django را پیادهسازی کرده و ثبتنام کاربر و مدل پروفایل سفارشی را اضافه میکنید.
-
فصل ۵، احراز هویت اجتماعی: احراز هویت با Google و OAuth 2، استفاده از فریمورک messages، راهانداز اختصاصی و دستورهای توسعهٔ امن با
django-extensionsو سفارشیسازی pipeline احراز هویت را یاد میگیرید. -
فصل ۶، اشتراکگذاری محتوا: تبدیل برنامهٔ اجتماعی به وبسایت نشانکگذاری تصویر با روابط many‑to‑many، ساخت bookmarklet جاوااسکریپت، تولید thumbnail، پیادهسازی درخواستهای HTTP غیرهمزمان و صفحهبندی با اسکرول بینهایت را تجربه میکنید.
-
فصل ۷، دنبال کردن فعالیتها: ساخت سیستم دنبالکننده برای کاربران، ایجاد جریان فعالیت، استفاده از relations عمومی، بهینهسازی QuerySet، کار با signals و denormalization، استفاده از Django Debug Toolbar، و ادغام Redis برای شمارش بازدید و رتبهبندی تصاویر محبوب را انجام میدهید.
-
فصل ۸، ساخت فروشگاه آنلاین: ساخت مدلهای کاتالوگ محصول، ایجاد سبد خرید با sessions، نوشتن context processor، مدیریت سفارشها و ارسال اعلانهای غیرهمزمان با Celery و RabbitMQ و نظارت بر Celery با Flower.
-
فصل ۹، مدیریت پرداخت و سفارش: ادغام درگاه پرداخت با Stripe Checkout، دریافت اعلانهای پرداخت، ایجاد viewهای سفارشی در سایت مدیریت، صدور سفارشها به CSV و ساخت فاکتورهای PDF.
-
فصل ۱۰، گسترش فروشگاه: پیادهسازی سیستم کوپن برای تخفیف، بهروزرسانی Stripe Checkout برای اعمال کوپن و استفاده از Redis برای ذخیرهٔ محصولات پرمصرف و ساخت موتور توصیهٔ محصول.
-
فصل ۱۱، بینالمللیسازی: ایجاد و مدیریت فایلهای ترجمه، ترجمهٔ متنها در کد Python و templateها، استفاده از Rosetta برای مدیریت ترجمه، پیادهسازی URLهای چندزبانه، ترجمهٔ فیلدهای مدل با django‑parler، کار با ORM در حالت چندزبانه و ساخت فیلدهای محلی با django‑localflavor.
-
فصل ۱۲، ساخت پلتفرم آموزشی در جنگو: افزودن fixtures، ایجاد مدلهای اولیهٔ CMS، استفاده از ارثبری مدل برای محتوای چندشکلی، ساخت فیلدهای مدل سفارشی و پیادهسازی viewهای احراز هویت برای CMS.
-
فصل ۱۳، ایجاد سیستم مدیریت محتوا: ساخت CMS با viewهای کلاس‑محور و mixinها، استفاده از گروهها و مجوزهای Django، بهکارگیری formsetها برای ویرایش درسها و ساخت قابلیت کشیدن و رها کردن برای مرتبسازی ماژولها و محتوا.
-
فصل ۱۴، نمایش و کش کردن محتوا: ساخت viewهای عمومی برای کاتالوگ دوره، ایجاد سیستم ثبتنام دانشجو، مدیریت ثبتنامها، نمایش انواع مختلف محتوا، استفاده از چارچوب cache Django، پیکربندی Memcached و Redis و نظارت بر Redis.
-
فصل ۱۵، ساخت API: ایجاد یک API REST با Django REST framework، ساخت serializer برای مدلها، ایجاد viewهای API سفارشی، مدیریت احراز هویت و مجوز API، استفاده از viewset و router و مصرف API با کتابخانهٔ Requests.
-
فصل ۱۶، ساخت سرور چت: کار با Django Channels برای ایجاد سرور چت بهصورت real‑time، پیادهسازی WebSocket، ایجاد consumer و client، استفاده از Redis بهعنوان channel layer، انجام عملیات بهصورت غیرهمزمان و ذخیرهٔ تاریخچهٔ چت در پایگاه داده.
-
فصل ۱۷، انتشار پروژه: ایجاد تنظیمات برای محیطهای مختلف، راهاندازی محیط تولید با PostgreSQL، Redis، uWSGI، NGINX و Daphne با Docker Compose، ارائهٔ امن پروژه از طریق HTTPS، استفاده از system check framework، نوشتن middleware سفارشی و ایجاد فرمانهای مدیریتی اختصاصی.
نویسنده کتاب Django by example
آنتونیو ملِه(Antonio Melé )مدیر مهندسی در شرکت Backbase است؛ شرکتی در حوزهٔ فینتک که خدمات تحول دیجیتال برای مؤسسات مالی ارائه میدهد. او در سال ۲۰۲۳ پس از خرید Nucoro توسط Backbase به این شرکت پیوست؛ Nucoro پلتفرم مدیریت دارایی دیجیتالی است که او همبنیانگذارش بوده است.
آنتونیو از سال ۲۰۰۶ پروژههای Django را برای مشتریان در صنایع مختلف توسعه میدهد. در سال ۲۰۰۹ شرکت Zenx IT را تأسیس کرد، شرکتی که در ساخت محصولات دیجیتال تخصص دارد. او بهعنوان CTO و مشاور فناوری برای چندین استارتاپ فعال بوده و تیمهای توسعه را برای پروژههای کسبوکارهای دیجیتال بزرگ هدایت کرده است. آنتونیو مدرک کارشناسی ارشد علوم کامپیوتر (MSc) از Universidad Pontificia Comillas دارد و دورهٔ Advanced Management را در MIT Sloan گذرانده است. علاقهٔ او به کامپیوتر و برنامهنویسی، بهواسطهٔ پدرش شکل گرفت.
او میگوید: «بدون کمک گروهی فوقالعاده از علاقهمندان و متخصصان Python که نسخههای اولیهٔ این کتاب را مطالعه و نقد کردند، این پروژه به نتیجه نمیرسید. از همهٔ کسانی که نسخههای بتا را خواندند و پیشنهادها و اصلاحات خود را ارائه دادند، صمیمانه سپاسگزارم؛ اشتیاق و دیدگاههای شما روح این پروژه بود.»
بازبین کتاب Django by example
مارک واکر (Mark Walker) پیش از این در بخشهای دولتی و دفاعی نرمافزار آموزش الکترونیکی توسعه میداد. او کار با Django را با یک برنامهٔ آفلاین خاص آغاز کرد و پس از آن به توسعهٔ پروژههایی برای بزرگترین رویدادهای دو در دنیا پرداخت. سپس به حوزههای DevOps، load testing و ایمنسازی برنامهها برای penetration testing وارد شد.
در سالهای اخیر، او رهبر فنی Django CMS Association و عضو Django Software Foundation بوده است. او همچنین برای بازیهای فانتزی ورزشی کار کرده و زیرساخت آنها را از AWS به GCP منتقل کرده است. مارک اکنون نگهدارندهٔ چندین کتابخانه متنباز است و بهعنوان راهنمای برنامهی Djangonaut فعالیت میکند؛ برنامهای که هدفش کمک به توسعهدهندگانی است که میخواهند به اکوسیستم Django مشارکت کنند.
ترجمه شده از کتاب: Django by example