дипломная работа GB 2023 Training_portal Stack: Python 3.10 Django 4.2.5
Правила работы с Git-ом
- Все изменения в проекте должны происходить в отдельных ветках. В мейн не коммитим.
- Мерж в мейн происходит только после одного аппрува.
- Ветка мейн всегда должна быть актуальной. Перед созданием новой ветки, нужно сделать
git pull origin/main - Если ветка долго живущая, то в неё нужно переодически мержить мейн, чтобы не было конфликтов. См. FAQ
- Ветку ведёт один человек и свою ветку мержит автор после аппрува. Только автор знает, когда работа закончена.
- Ветка называется по названию задачи в трелло (транслитом). Например,
git checkout -b add_user_model
Берем чистый сервер с Ubuntu
Устанавливаем на него Git
sudo apt install gitУстанавливаем на него Docker
Инструкция по установке докер на Ubuntu
Клонируем репозиторий
git clone https://github.com/kdv777/Training_portal.gitРазворачиваем проект
cd Training_portal
sudo docker compose up --build -dДля того, чтобы всегда работать с актуальными изменениями и не резолвить потом конфликты, если ветка живёт долго, лучше переодически подмерживать в неё мейн. Для этого, находять в своей ветке, сделать следующее:
git fetch --all
git merge origin/mainВ процессе могут возникнуть конфликты, их надо резолвить.
git branch -d <branch_name>Обратите внимание на то, что ветка, которую вы удаляете, не должна быть вашей текущей веткой, в которой вы работаете, иначе отобразится ошибка вида: error: Cannot delete branch ’mybranch’ checked out at ’/path/to Поэтому, если вам нужно удалить текущую ветку, то сначала нужно переключиться на какую-либо другую ветку, а только потом выполнять удаление. Если вдруг возникает ошибка: The branch ’mybranch’ is not fully merged. If you are sure you want to delete it и вы по прежнему хотите удалить ветку, то для принудительного удаления ветки можно воспользоваться опцией -D:
git branch -D <branch_name>git push origin -d <branch_name>в docker.com > логинишься | регистрируешься -> -> продкуты -> кнопка "download for Windows" -> устанавливаешь -> получаем Docker Desktop
cd src
docker compose -f local.docker-compose.yaml up -dpip install pdm
pdm install cd src
export DJANGO_SETTINGS_MODULE=config.settings
pdm run celery -A config worker -l infopdm run python manage.py collectstatic
pdm run python manage.py migrate
pdm run python manage.py loaddata ./fixtures/009_all.json
pdm run python manage.py runserverdocker compose -f src/local.docker-compose.yaml down --volumes
Папку fixtures предварительно необходимо создать внутри src (/fixtures)
Далее выполняем команду для создания фикстуры если находимся в src>
pdm run python -Xutf8 manage.py dumpdata --exclude auth.permission --exclude contenttypes --exclude auth.group --exclude admin.logentry --exclude sessions --indent 2 -o ./fixtures/009_all.jsonСоздать папку var/log в src
mkdir -p ./var/logПри создании курсов и лекций можно подгружать файлы картинок, картинки по ссылке и видео по ссылке
Файлы картинок загружаются в папку /static/, при создании курса в поле "файл картинки" указывается название файла формата img/diz_04.jpeg
Для картинки по ссылке в поле "URL картинки" указывается ссылка на картинку в формате https://..... .jpg
Для видео по ссылке в поле "Video URL" указывается ссылка на видео в формате https://www.youtube.com/embed/Xiy8xwhbmew?si=vb7hqtiDATouk30x
Такую ссылку можно получить из youtube(на странице видео) -> "поделиться" > "встроить" > из предложенного взять нужную часть вида как выше. -> вставить в поле "Video URL" при создании урока
Тесты запускаем из директории src
pdm run python manage.py testСоздать папку build в src/documentation_project
mkdir -p ./src/documentation_project/buildИнструкция и команды по созданию в документации проекта и в файле deployment_data/base_command.txt