📝 Django

URL-маршруты в Django

P
Автор
Pyland
📅
Опубликовано
30.06.2026
⏱️
Время чтения
1 мин
👁️
Просмотров
64
🌱
Уровень
Начальный
🐦 💼 ✈️

Django сопоставляет URL с view через urlpatterns.

Базовый синтаксис

# tasks/urls.py
from django.urls import path
from . import views

urlpatterns = [
    path('', views.task_list, name='task-list'),
    path('<int:pk>/', views.task_detail, name='task-detail'),
    path('create/', views.create_task, name='task-create'),
    path('<int:pk>/edit/', views.edit_task, name='task-edit'),
    path('<int:pk>/delete/', views.delete_task, name='task-delete'),
]

path() параметры

path('<int:pk>/', view)          # целое число → pk
path('<str:slug>/', view)        # строка → slug
path('<uuid:id>/', view)         # UUID
path('<slug:slug>/', view)       # slug (буквы, цифры, дефис)

name= — именованные URL

path('tasks/', views.task_list, name='task-list')

В шаблоне:

<a href="{% url 'task-list' %}">Все задачи</a>
<a href="{% url 'task-detail' pk=task.pk %}">Задача #{{ task.pk }}</a>

В Python:

from django.urls import reverse
url = reverse('task-detail', kwargs={'pk': 5})  # '/tasks/5/'
redirect('task-list')

include() — подключение URL приложений

# mysite/urls.py
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('tasks/', include('tasks.urls')),
    path('blog/', include('blog.urls')),
    path('api/', include('api.urls')),
]

Namespace — пространства имён

# tasks/urls.py
app_name = 'tasks'  # ← добавить

urlpatterns = [
    path('', views.task_list, name='list'),
    path('<int:pk>/', views.task_detail, name='detail'),
]

В шаблоне:

{% url 'tasks:list' %}
{% url 'tasks:detail' pk=task.pk %}

re_path — регулярные выражения (редко нужен)

from django.urls import re_path

urlpatterns = [
    re_path(r'^archive/(?P<year>[0-9]{4})/$', views.archive),
]

Ваша реакция на статью

💬 Комментарии (0)

🔐 Войдите в систему, чтобы оставить комментарий
🚪 Войти
💭

Комментариев пока нет

Станьте первым, кто поделится мнением об этой статье!

🔗 Похожие

Похожие статьи

Продолжите изучение с этими материалами

📝

pytest-django: тестирование Django

Охватываемые темы: Установка, @pytest.mark.djangodb, Фикстуры, Тестирование views.

📅 30.06.2026 👁️ 138
📝

Django: Теги шаблонов

Теги шаблонов — это логика внутри HTML. В отличие от {{ переменная }}, которая только...

📅 30.06.2026 👁️ 86
📝

Django: Статические файлы

Статические файлы — CSS, JavaScript, изображения, шрифты. Django обрабатывает их особым образом: в разработке раздаёт...

📅 30.06.2026 👁️ 78

Понравилась статья?

Подпишитесь на наши обновления и получайте новые статьи первыми. Развивайтесь вместе с PyLand!