Django приложения: создание и работа с ошибками 404

Создание приложения в Django — это создание новой категории внутри сайта, а не отдельного сайта или приложения в привычном понимании. Это своего рода категория, обрабатывающая запросы к определенным разделам сайта, предотвращая ошибки 404 (Not Found). Например, вместо ошибки при переходе по несуществующему адресу будет отображаться страница с приветствием «Hello, world!».

Что такое Django приложение?

Представьте, что у вас уже запущен локальный сервер с доступной админ-панелью (подробное знакомство с ней — в следующих уроках). Добавление новой категории на сайт — это и есть создание Django приложения.

Необходимые шаги

Для создания приложения:

  1. Выход из локального сервера: kontrol + C (на MacOS). На Windows команда может отличаться.
  2. Навигация: Перейдите в директорию проекта мой_сайт (созданную в предыдущем уроке).
  3. Создание приложения: В терминале, находясь в директории мой_сайт, выполните команду:

    django-admin startapp example

    Замените example на желаемое имя приложения (например, blog). Появится папка example с необходимыми файлами. Каждое приложение Django имеет три основные характеристики:

    • Ссылки (URLs): Определяют, какие файлы подключаются в зависимости от URL-адреса. Например, /game и /game/course — разные ссылки, отображающие различный контент.
    • Подключение к базе данных: Определяет взаимодействие приложения с базой данных.
    • Отображение (Templates): Определяет внешний вид страницы — HTML-код с возможными дополнениями от Django.

    В идеале, все это прописывается вручную, но преимущество Django в возможности использования готовых приложений из интернета, встраивая их в проект и адаптируя отображение.

Связывание приложения с сайтом

Попытка перейти на страницу приложения без предварительной настройки приведёт к ошибке 404. Для исправления:

  1. Изменение файла settings.py: В файле settings.py (в директории мой_сайт) в разделе INSTALLED_APPS добавьте строку с именем созданного приложения:

    INSTALLED_APPS = [
        # ... другие приложения ...
        'example', # Наше новое приложение
    ]
  2. Изменение файла urls.py: В файле urls.py (в директории мой_сайт) добавьте ссылку на наше приложение:

    from django.contrib import admin
    from django.urls import path, include
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('example/', include('example.urls')), # Ссылка на наше приложение
    ]

    Теперь, при переходе по адресу /example/, будет запрашиваться приложение example. Обработка запросов внутри приложения осуществляется файлом urls.py внутри директории приложения. Он определяет, какие функции вызываются при переходе по различным URL-адресам внутри приложения.

Создание views и шаблона

Внутри приложения example создайте файлы views.py и urls.py со следующим содержимым:

views.py:

from django.http import HttpResponse
from django.shortcuts import render

def index(request):
    return HttpResponse("<h1>Привет, мир!</h1>")

urls.py:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

Этот код создаёт простую функцию index, возвращающую HTML-код «Привет, мир!». Используются функции render для вывода информации и HttpResponse для отправки простого HTML.

Теперь при переходе по адресу /example/ будет отображаться «Привет, мир!».

В этом уроке создано простое Django приложение, показано, как связывать его с основным сайтом и отображать контент. Это базовая структура для создания более сложных приложений и сайтов с помощью Django. Возможность копирования и повторного использования приложений между проектами делает Django удобным инструментом.

Что будем искать? Например,программа