Добро пожаловать в документацию проекта "Share Stepik", который был сделан для участия в хакатоне от Stepik. Этот проект представляет собой инструмент для пользователей, который способен упорядочивать и систематизровать курсы на платформе. С его помощью можно создавать подборки курсов, а также целые специализации и делиться ими.
https://rcfixer.pythonanywhere.com/
- Установите Python и необходимые зависимости из файла requirements.txt, если они ещё не установлены:
pip install -r requirements.txt- Клонируйте репозиторий проекта:
git clone https://github.com/RCFixer/share_stepik.git- Перейдите в директорию проекта:
cd share_stepik- Запустите миграции:
python manage.py migrate- Создайте суперпользователя
python manage.py createsuperuser- Запустите сервер разработки:
python manage.py runserver- Откройте браузер и перейдите по адресу
http://localhost:8000для доступа к приложению.
Модель Course используется для хранения информации о курсах платформы Stepik. Она включает в себя следующие поля:
title: заголовок курса (CharField)link: ссылка на курс (CharField)image_src: ссылка на изображение курса (CharField)
Модель SharePage используется для хранения информации о подборке курсов. Она включает в себя следующие поля:
title: заголовок подборки (CharField)courses: содержащиеся на странице курсы (ManyToManyField)is_for_specialization: является ли эта подборка самостоятельной или относится к специализации (BooleanField)specialization: специализация к которой привязана подборка, если она есть (ForeignKey)likes: количество лайков подборки (PositiveIntegerField)
Модель SpecializationPage используется для хранения информации о специализации. Она включает в себя следующие поля:
title: заголовок специализации (CharField)likes: количество лайков специализации (PositiveIntegerField)
Проект содержит следующие представления:
create_page: создаёт страницу с подборкой курсов.update_page: обновляет страницу с подборкой курсов.delete_page: удаляет страницу с подборкой курсов.page_list: отображает страницу со всем подборками курсов.page_view: отображает страницу с одной подборкой курсов.create_specialization: создаёт страницу со специализацией.specialization_view: отображает страницу со специализацией.create_specialization_page: создаёт подборку курсов для конкретной специализации.specialization_page_list: отображает список всех специализаций.update_specialization_page: обновляет страницу конкретной специализации.delete_specialization_page: удаляет страницу конкретной специализации.
URL-ы для доступа к представлениям находятся в файле urls.py проекта и могут быть настроены по вашим потребностям.