سلام دوست عزیز😃👋

لینک‌های مفید برای شرکت در مسابقه:

می‌توانید سوال‌های خود را در رابطه با سوالات و دیگر بخش‌های پایتون از قسمت «سوال بپرسید» مطرح کنید.

موفق باشید 😉✌

خورشت کرفس


فرهاد که به اندازه‌ی کافی با سلری و جنگو آشنا نیست برای انجام پروژه زیر به کمک شما نیاز دارد.

پروژه‌ی اولیه🔗

پروژه‌ی اولیه را از این لینک دانلود کنید. ساختار فایل‌های این پروژه به‌صورت زیر است:

Subscription
├── accounts
│   ├── admin.py
│   ├── apps.py
│   ├── forms.py
│   ├── __init__.py
│   ├── migrations
│   │   ├── 0001_initial.py
│   │   ├── 0002_user_special_user_alter_user_email.py
│   │   ├── 0003_alter_user_special_user.py
│   │   ├── 0004_user_task_id.py
│   │   └── __init__.py
│   ├──  > models.py < 
│   ├── tasks.py
│   ├── tests.py
│   └── views.py
├── blog
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   ├── 0001_initial.py
│   │   ├── 0002_article_views_alter_article_category.py
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   ├── urls.py
│   └──  > views.py < 
├── config
│   ├── asgi.py
│   ├── celery.py
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── docker-compose.yml
├── Dockerfile
├── manage.py
├── Pipfile
├── Pipfile.lock
├── requirements-dev.txt
├── requirements.txt
├── static
│   └── blog
│       └── css
│           └── article_detail.css
├── templates
│   └── blog
│       ├── article_create.html
│       └── article_detail.html
└── tests
    └── __init__.py
Plain text

فایل accounts/models.py🔗

مدل User در فایل accounts/models.py را به‌نحوی تغییر دهید تا زمانی که اشتراک کاربر به اتمام رسید، ایمیلی به کاربر ارسال شود. از تسک ارسال ایمیل در فایل accounts/tasks.py استفاده کنید.

فایل blog/views.py🔗

ویو‌ی ArticleCreateView در فایل blog/views.py را به‌نحوی تغییر دهید که:

  • فقط کاربران احرازهویت‌شده (کاربرانی که log-in کرده‌اند) به آن دسترسی داشته باشند.
  • فیلد author فقط برای کاربران ادمین (‍superuser) وجود داشته باشد. برای کاربران عادی این فیلد نمایش داده نشود و مقدار آن برابر خود کاربر باشد.
  • فیلد status فقط برای کاربران ادمین (‍superuser) وجود داشته باشد. برای کاربران عادی این فیلد نمایش داده نشود و مقدار آن برابر d باشد.
تکمیلی

فیلدهای قابل ویرایش برای:

کاربر ادمین:author, title, slug, body, status, category, is_premium

کاربر عادی:title, slug, body, category, is_premium

  • در تمپلیت blog/article_create.html رندر شود.

نحوه ارسال🔗

برای حل سوال یک فایل ZIP که شامل کلیه فایل‌های موجود در پروژه است، ارسال کنید.

ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.