Найти тему
ALEXPROIT

🌟Стрим Сайт на Django👨‍💻 часть 4 17.06.2024

Ссылка на видеозапись трансляции:
https://dzen.ru/video/watch/6670b617ffd1455bc8f8879c?share_to=link

Установите программу git на свой локальный компьютер. Для этого скачайте дистрибутив на сайте: https://git-scm.com/

Если у вас не получается используйте ChatGPT по ссылке:
https://chatgpt.com/?oai-dm=1

Напишите запрос: напиши инструкцию по установке git на mac.

Для тех у кого Windows: напиши инструкцию по установке git на windows 10.

Создаем новый git репозиторий на github.com:
https://github.com/myasoedas/portfolio/tree/main

Чтобы создать новый проект на Django перехожу в папку для моих проектов Dev с помощью командной строки открытой в VSCod и выполняю команду для того чтобы клонировать репозиторий из github.com в папку Dev на локальном компьютере. Для этого я использую следующую команду:

git clone https://github.com/myasoedas/portfolio.git

Если настроено подкkючение через ssh использую команду:

git clone git@github.com:myasoedas/portfolio.git

После выполнения команды в папке Dev появится папка portfolio.

С помощью команды:

git status

посмотрим состояние git репозитория.

Добавим файл .gitignore, чтобы отслеживать только те изменения которые мы вносим в код.

Содержимое файла .gitignore можно скачать по ссылке:

https://github.com/myasoedas/guess_number/blob/main/.gitignore

Теперь зафиксируем наши изменения в локальном git репозитории с помощью команды:

git add .gitignore

или это можно сделать с помощью команды:

git add .

После того как мы выбрали те изменения которые хотим зафиксировать выполняем команду:

git commit -m "Создать файл .gitignore."

После выполнения команды все внесенные изменения будут зафиесированы и в случае необходимости к ним можно будет откатиться.

Для того чтобы отправить зафиксированные изменения в локальном git репозитории в удаленный репозиторий в github.com необходимо выполнить команду:

git push

Установим виртуальное окружение venv. Для этого в папке portfolio выполним команду:

python3.12 -m venv venv

После того как установили виртуальное окружение venv, активируем его командой:

source venv/bin/activate

После того как виртуальное окружение venv активировано установим веб фреимворк django с помощью команды:

pip install django

В папке portfolio развернем проект django командой:

django-admin startproject personal_portfolio

В папке portfolio появится папка нового проекта: personal_portfolio

Зафиксируем сделанные изменения в git:

git status

git add personal_portfolio

git commit -m "Развернуть проект django personal_portfolio."

git push

Чтобы устранить путаницу верхнеуровневую папку personal_portfolio переименуем в personal_portfolio_project.

Зафиксируем сделанные изменения в git:

git status

git add personal_portfolio_project

git commit -m "Переименовать папку personal_portfolio в personal_portfolio_project."

Перейдем в командной строке в папку personal_portfolio_project с помощью команды:

cd personal_portfolio_project/

Чтобы включить проект personal_portfolio выполним команду:

python manage.py

Теперь мы можем запустить тестовый сервер и проверить что базовый проект django работает:

python manage.py runserver

Откроем вебраузер и перйдем по ссылке:

http://localhost:8000/

Если вы видите взлетающую ракету, значит базовый проект развернут успешно и мы готовы начать создавать наш сайт портфолио.

Так как на нашем сайте будет блог и портфолио, создадим соответствующие веб приложения с помощью команд:

python manage.py startapp blog

python manage.py startapp portfolio

После выполнения команд представленных выше в папке personal_portfolio_project появятся папки blog и portfolio.

В папке personal_portfolio открываем файл settings.py, находим список INSTALLED_APPS и добавляем в него две новые строки, не забываем на конце каждой строки ставить запятую:

INSTALLED_APPS = [

"django.contrib.admin",

"django.contrib.auth",

"django.contrib.contenttypes",

"django.contrib.sessions",

"django.contrib.messages",

"django.contrib.staticfiles",

"blog",

"portfolio",

]

В папке personal_portfolio_project запустим тестовый сервер:

python manage.py runserver

и убедимся что в браузере на странице localhost взлетает ракета.

Теперь мы можем двигаться дальше.

В папке portfolio откроем файл models.py и добавим в него класс Project, который будет описывать таблицу базы данных, ее строки и поля.

Для того чтобы описать любой наш проект в портфолио нам потребуется следующие поля данных:

Класс Project со всеми атрибутами для описания проекта в портволио.
Класс Project со всеми атрибутами для описания проекта в портволио.

title - заголовок с названием проекта.

description - краткое описание проекта.

image - изображение главной страницы проекта.

url - ссылка на проект в Интернете.

Код класса Project будет иметь вид:

class Project(models.Model):

# Заголовок с названием проекта.

title = models.CharField(max_length=100)

# Краткое описание проекта.

description = models.CharField(max_length=250)

# Изображение главной страницы проекта.

image = models.ImageField(upload_to='portfolio/images/')

# Ссылка на проект в Интернете.

url = models.URLField(blank=True)

Для того чтобы работать с изображениями в проекте Django, необходимо установить пакет pillow:

pip install pillow

Мы создали класс Project и указали в нем все необходимые атрибуты для создания поста о нашем проекте в портфолио. Для того чтобы Django начало использовать нашу модель данных, представленную в классе Project необходимо выполнить миграцию с помощью команды:

python manage.py migrate

Результат выполнения команды: python manage.py migrate
Результат выполнения команды: python manage.py migrate

Запустим тестовый сервер, чтобы убедиться что у нас нет ошибок в коде.

python manage.py runserver

Теперь, когда мы убедились что ошибок нет можно выполнить команду фиксирующую выполненную миграцию в Django:

python manage.py makemigrations

Результат выполнения команды: python manage.py makemigrations
Результат выполнения команды: python manage.py makemigrations

Выполним еще раз команду:

python manage.py migrate

Результат выполнения команды: python manage.py migrate
Результат выполнения команды: python manage.py migrate

Чтобы проверить, что у нас нет ошибок и мы все правильно сделали запустим тестовый сервер:

python manage.py runserver

Результат выполнения команды: python manage.py runserver
Результат выполнения команды: python manage.py runserver

Если все в порядке и ошибок нет, значит мы все сделали верно.

Теперь в папке portfolio перейдем в папку migrations и откроем файл 0001_initial.py.

Содержимое файла 0001_initial.py.
Содержимое файла 0001_initial.py.
-7