Создание страницы

Сначала надо запустить команду startapp, которая сгенерирурет файлы для указанного раздела.

python manage.py startapp pages

Команда выше сгенерирует папку «pages». Теперь можно открывать страницы «/pages», добавив их в файл urls.py.

# urls.py
from django.urls import path
from pages import views

urlpatterns = [
    path('', views.index) # главная страница
    path('pages/contacts$', views.contacts),
    path('pages/other$',    views.other)
]

В функции path() указывается, на какой странице надо подключать указанный файл. Например, параметр views.index означает, что в файле pages/views.py надо найти метод index.

Указывать ссылки можно только на страницы (домены и строку запроса использовать нельзя).

В фале pages/views.py надо вставить следующий код (страницы в браузере пока открываться не будут):

# pages/views.py
from django.shortcuts import render

def index(request):
    return render(request, "pages/index.html")

def contacts(request):
    return render(request, "pages/contacts.html")

def other(request):
    return render(request, "pages/other.html")

В функции render() указан шаблон, который надо отображать на указанной странице. Но сначала в файле settings.py надо указать место, где будут находиться все шаблоны.

# settings.py
TEMPLATES = [
    {
        ...
        # 1-ый способ: указать напрямую
        'DIRS': ['/home/project/django_site/templates']

        # 2-ой способ: такой же, что и 1 способ, но путь формируется автоматически
        'DIRS': [os.path.join(BASE_DIR, 'templates')]
        ...
    }
]