پرش به محتویات

آموزش

یک فروشگاه که لایه به لایه ساخته می‌شود: مشتری‌ها در یکی از دو شعبه سفارش ثبت می‌کنند، هر شعبه یک مدیر دارد، و یک حسابدار همه‌ی سفارش‌ها را با قیمتشان می‌خواند. همه‌ی کدهای این صفحه‌ها مستقیم از پروژه‌ی نمونه خوانده می‌شوند، که تست‌هایش همراه تست‌های خود کتابخانه اجرا می‌شوند - پس آنچه این‌جا می‌خوانید همان چیزی است که اجرا می‌شود.

فروشگاه چه چیزی لازم دارد

چه کسی اجازه دارد
مدیر یک شعبه سفارش‌های شعبه‌ی خودش را بخواند، ویرایش و تأیید کند - هیچ‌وقت قیمت را نه
حسابدار همه‌ی سفارش‌ها را با قیمتشان بخواند، و چیزی را تغییر ندهد
یک مشتری سفارش‌های خودش را بخواند، و سفارش تازه ثبت کند - هیچ‌وقت قیمت‌گذاری یا تأیید نکند
هیچ کس سفارشی را بعد از تحویل ویرایش کند

قدم‌ها

قدم چه چیزی اضافه می‌کند
۱ اجرای فروشگاه پروژه‌ی نمونه، افرادش و سفارش‌هایش
۲ مجوزها کارهایی که با یک سفارش می‌شود کرد
۳ بسته‌ها مجوزهایی که با هم داده می‌شوند، در پنل ادمین
۴ دامنه‌های ردیف در کد «سفارش‌های خودشان»، «سفارش‌های شعبه‌شان»
۵ دامنه‌های قانونی در پنل ادمین دامنه‌ای که بدون کد ساخته می‌شود
۶ فیلدهای محافظت‌شده قیمت، که فقط کسی که اجازه دارد می‌خواند
۷ اکشن‌های وضعیت فقط کسی که اجازه‌ی تأیید دارد تأییدشده می‌کند
۸ Policyها قانونی که هیچ مجوزی نمی‌تواند بگوید
۹ Viewها و API viewهای Django و DRF، که از همان قانون‌ها می‌پرسند
۱۰ نقش‌ها آنچه یک مشتری هیچ‌وقت نمی‌تواند داشته باشد
۱۱ دسترسی به صورت کد بسته‌ها و نقش‌ها، که مثل کد بازبینی می‌شوند
۱۲ اسم‌ها در همه‌ی زبان‌ها بسته‌ای با اسم فارسی

هر قدم روی قدم قبلی ساخته می‌شود، اما هر لایه بدون لایه‌ی بعدی هم کار می‌کند: یک پروژه می‌تواند بعد از قدم ۴ بایستد و کامل باشد.