Создание приложения в Django — это создание новой категории внутри сайта, а не отдельного сайта или приложения в привычном понимании. Это своего рода категория, обрабатывающая запросы к определенным разделам сайта, предотвращая ошибки 404 (Not Found). Например, вместо ошибки при переходе по несуществующему адресу будет отображаться страница с приветствием «Hello, world!».
Что такое Django приложение?
Представьте, что у вас уже запущен локальный сервер с доступной админ-панелью (подробное знакомство с ней — в следующих уроках). Добавление новой категории на сайт — это и есть создание Django приложения.
Необходимые шаги
Для создания приложения:
- Выход из локального сервера: kontrol + C (на MacOS). На Windows команда может отличаться.
- Навигация: Перейдите в директорию проекта мой_сайт (созданную в предыдущем уроке).
- Создание приложения: В терминале, находясь в директории мой_сайт, выполните команду:
django-admin startapp example
Замените example на желаемое имя приложения (например, blog). Появится папка example с необходимыми файлами. Каждое приложение Django имеет три основные характеристики:
- Ссылки (URLs): Определяют, какие файлы подключаются в зависимости от URL-адреса. Например, /game и /game/course — разные ссылки, отображающие различный контент.
- Подключение к базе данных: Определяет взаимодействие приложения с базой данных.
- Отображение (Templates): Определяет внешний вид страницы — HTML-код с возможными дополнениями от Django.
В идеале, все это прописывается вручную, но преимущество Django в возможности использования готовых приложений из интернета, встраивая их в проект и адаптируя отображение.
Связывание приложения с сайтом
Попытка перейти на страницу приложения без предварительной настройки приведёт к ошибке 404. Для исправления:
- Изменение файла settings.py: В файле settings.py (в директории мой_сайт) в разделе INSTALLED_APPS добавьте строку с именем созданного приложения:
INSTALLED_APPS = [ # ... другие приложения ... 'example', # Наше новое приложение ]
- Изменение файла 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 удобным инструментом.