Продвинутый Django 5 для продолжающих

Прогресс по курсу:  0/193

6.2 Модели и создание шаблонов
2 из 2 шагов пройдено

Теперь создадим модель Book для приложении books.

Данная модель будет довольно простая и понятная, в ней будет всего четыре поля:

  • title: это текстовое поле будут хранить название книги.
  • author: это текстовое поле будут хранить автора книги.
  • price: это числовое поле будет хранить цену книги.
  • read: это булево поле будет хранить статус книги, прочитана она или нет.


Отредактируем файл books\models.py, добавим следующее содержимое:

from django.db import models


class Book(models.Model):
    title = models.CharField(max_length=200)
    author = models.CharField(max_length=200)
    price = models.PositiveIntegerField(default=0)
    read = models.BooleanField(default=False)

    def __str__(self):
        return self.title


Следующим шагом будет запуск миграции для только что созданной модели Book:

python manage.py makemigrations books
python manage.py migrate


Затем добавим нашу модель в файл admin.py, чтобы иметь к ней доступ на странице администратора.

Отредактируем файл books\admin.py, добавим следующий код:

from django.contrib import admin
from .models import Book


class BookAdmin(admin.ModelAdmin):
    list_display = ("title", "author", "price", "read")


admin.site.register(Book, BookAdmin)


Перед началом работы с шаблонами, проверим наличие директории шаблонов templates. И подключим её в секции TEMPLATES в файле настроек settings.py, отредактируем его содержимое:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates'], # new
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Оставить комментарий
Нет обсуждений. Начните первое.