فرهاد که به اندازهی کافی با سلری و جنگو آشنا نیست برای انجام پروژه زیر به کمک شما نیاز دارد.
# پروژهی اولیه
پروژهی اولیه را از [این لینک](/contest/assignments/56249/download_problem_initial_project/190964/) دانلود کنید.
ساختار فایلهای این پروژه بهصورت زیر است:
```
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
│ ├── <mark class="yellow" title="اجازه تغییر این فایل را دارید"> > models.py < </mark>
│ ├── 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
│ └── <mark class="yellow" title="اجازه تغییر این فایل را دارید"> > views.py < </mark>
├── 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
```
## فایل `accounts/models.py`
مدل `User` در فایل `accounts/models.py` را بهنحوی تغییر دهید تا زمانی که اشتراک کاربر به اتمام رسید، ایمیلی به کاربر ارسال شود. از تسک ارسال ایمیل در فایل `accounts/tasks.py` استفاده کنید.
## فایل `blog/views.py`
ویوی `ArticleCreateView` در فایل `blog/views.py` را بهنحوی تغییر دهید که:
* فقط کاربران احرازهویتشده (کاربرانی که log-in کردهاند) به آن دسترسی داشته باشند.
* فیلد `author` فقط برای کاربران ادمین (*superuser*) وجود داشته باشد. برای کاربران عادی این فیلد نمایش داده نشود و مقدار آن برابر خود کاربر باشد.
* فیلد `status` فقط برای کاربران ادمین (*superuser*) وجود داشته باشد. برای کاربران عادی این فیلد نمایش داده نشود و مقدار آن برابر **d** باشد.
<details class="green">
<summary> تکمیلی </summary>
فیلدهای قابل ویرایش برای:
**کاربر ادمین:**`author`, `title`, `slug`, `body`, `status`, `category`, `is_premium`
**کاربر عادی:**`title`, `slug`, `body`, `category`, `is_premium`
</details>
* در تمپلیت `blog/article_create.html` رندر شود.
## نحوه ارسال
برای حل سوال یک فایل *ZIP* که شامل کلیه فایلهای موجود در پروژه است، ارسال کنید.
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.