- role: admin, email: admin@gmail.com , password: admin
- role: author, email: kirillH@gmail.com , password: 1111
- role: reader, email: Nord_Raven@gmail.com , password: 1234
Разработать веб-сайт, с помощью которого авторы курсов могут выкладывать статьи, а читатели — просматривать их и комментировать.
Курс состоит из статей, а статьи — из текста и обложки. Каждая статья имеет своё название. Статьи можно комментировать.
Возможности веб-сайта:
- Любой авторизованный человек может просматривать список курсов, список статей курса, статьи и комментарии к ним.
- Любой человек может зарегистрироваться, указав желаемый логин, пароль и электронную почту, и стать пользователем сайта.
- Пользователь с правами автора может создать курс. Создатель курса в рамках курса является админом, а все остальные пользователи — учениками.
- Преподаватель курса может создать новую статью, введя её текст и прикрепив обложку, а также отредактировать текст или обложку ранее созданной.
- Ученики и преподаватель курса могут комментировать статьи.
- Ученик может добавить курс в "избранные" и удалить его оттуда. "Избранные" курсы отображаются первыми в списке курсов.
- Любой пользователь сайта может просматривать свой личный кабинет. В личном кабинете отображаются курсы, добавленные в избранное, и оставленные им комментарии.
- Flask в качестве веб-фреймворка.
requirements.txtиvirtualenvдля управления зависимостями.- .env-файл для управления конфигурацией.
- SQLite3 в качестве базы данных.
- Flask-Login для авторизации и аутентификации.
- Jinja2 для создания HTML-страниц.
- WTForms и Flask-WTF для создания и валидации веб-форм.
- Bootstrap в качестве CSS-фреймворка.
Создайте виртуальное окружение и установите зависимости
python3 -m virtualenv venv
source venv/bin/activate # Unix
.\venv\Scripts\activate # Windows
pip install -r requirements.txt(или воспользуйтесь PyCharm)
При необходимости изменить параметры запуска отредактируйте файл .env
Фиксирование зависимостей: pip freeze > requirements.txt