Выборка страницы из базы данных

Шаг 1: Создание таблицы для страниц в базе данных

Сначала надо повторить дейстствия по созданию страницы и настройки с базой данных.

В файле pages/models.py надо добавить следующий код:

# pages/models.py
from django.db import models

class Page(models.Model):
    title   = models.CharField(max_length=255)
    created = models.DateTimeField()
    active  = models.BooleanField()
    content = models.TextField()

В коде выше указаны поля, которые будут созданы в базе данных.

В файле settings.py в параметре INSTALLED_APPS надо добавить приложение «pages» (создавалась через команду python manage.py startapp pages).

# settings.py

INSTALLED_APPS = (
    # …
    'pages',
)

В параметре INSTALLED_APPS указаны приложения, для которых будут созданы поля в базе данных. Чтобы создать сами поля, надо выполнить следующую команду:

python manage.py migrate

Имя созданной таблицы будет иметь формат «приложение_модель», т.е. для текущего примера будет создана таблица pages_page.

Шаг 2: Вывод контента из базы данных

В файле views.py надо добавить следующий код:

# pages/views.py
from django.shortcuts import render
from pages.models import Page # импорт модели Page из файла pages/models.py

def contacts(request):
    page = Page.objects.get(id=1)
    return render(request, "pages/contacts.html", {"page": page})

Параметр get(id=1) означает, что из таблицы надо выбрать запись с ИД равному «1».

Третий параметр функции render() передаёт в шаблон переменную page. Теперь в шаблоне можно использовать следующий код:

<!-- templates/pages/contacts.html -->

<h1>{{page.title}}</h1>
{{page.content}}