Создадим приложение projects для нашего портфолио с помощью команды:

python manage.py startapp projects

После чего в папке проекта будет создана новая папка projects. Укажем эту папку в списке INSTALLED_APPS в файле settings.py (строка 8):

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'projects',
]

Модель

Добавим модель для нашего приложения. Она будет называться Project. Для этого откроем файл my-portfolio\projects\models.py. Добавим в него следующее содержимое (с 3 по 7 строку):

from django.db import models

class Project(models.Model):
    title = models.CharField(max_length=100)
    description = models.TextField()
    technology = models.CharField(max_length=20)
    image = models.FilePathField(path="/img")

В качестве БД по-умолчанию Django использует SQLite. Его мы и будем использовать.

Далее нужно создать файл миграции с помощью команды:

python manage.py makemigrations projects

И создать таблицу в БД с помощью команды:

python manage.py migrate projects

Обратите внимание, что в папке проекта появился новый файл db.sqlite3 с БД проекта.

Создадим несколько строчек в созданной таблице projects_project. Но для начала нужно запустить специальную командную строку Django с помощью команды:

python manage.py shell

Как только командная строка будет запущена в начале строки вы увидете >>>.

Теперь с помощью команды:

from projects.models import Project

импортируем нашу модель.

И добавим несколько объектов, чтобы наполнить таблицу в БД данными.

p1 = Project(
    title='Мой первый проект',
    description='Проект по веб-разработке.',
    technology='Django',
    image='img/project1.png'
)
p1.save()

p2 = Project(
    title='Мой второй проект',
    description='Еще один проект по веб-разработке.',
    technology='PHP',
    image='img/project2.png'
)
p2.save()

p3 = Project(
    title='Мой третий проект',
    description='Проект по мобильной разработке.',
    technology='Android',
    image='img/project3.png'
)
p3.save()