Ответ
Файл urls.py в Django — это URL-маршрутизатор (URL dispatcher). Его основная задача — сопоставлять URL-адреса, по которым обращаются пользователи, с соответствующими функциями-обработчиками (views) в вашем приложении.
Когда Django получает HTTP-запрос, он просматривает список urlpatterns в корневом файле urls.py и ищет первое совпадение с URL запроса. Найдя совпадение, он вызывает связанную с ним view-функцию, передавая ей объект запроса и любые параметры из URL.
Ключевые элементы urls.py:
urlpatterns: Список, содержащий все маршруты для проекта или приложения.path(): Функция для определения маршрута. Она принимает URL-шаблон, view-функцию и опциональное имя маршрута (name).- Path Converters: Механизм для захвата частей URL в виде переменных (например,
<int:pk>). include(): Функция для подключения файловurls.pyиз других приложений, что позволяет создавать модульную структуру маршрутизации.
Пример urlpatterns:
from django.urls import path, include
from . import views
# Этот список Django будет проверять по порядку
urlpatterns = [
# 1. Главная страница: '' (пустой путь) -> views.index
path('', views.index, name='home'),
# 2. Страница статьи: 'articles/123/' -> views.article_detail с pk=123
# <int:pk> - это path converter, он захватывает целое число и передает его
# в view как аргумент 'pk' (primary key).
path('articles/<int:pk>/', views.article_detail, name='article_detail'),
# 3. Подключение всех URL из приложения 'api'
path('api/', include('api.urls')),
]
Таким образом, urls.py является «диспетчерским центром» проекта, который направляет все входящие запросы по нужным адресам внутри кода.