Конвертер uuid

Конвертер uuid применяется в маршрутах Django для преобразования строковых представлений UUID из URL в объекты UUID Python. Это позволяет удобно передавать UUID в качестве параметров в функции представления. Конвертер автоматически проверяет, что переданная строка является корректным UUID, и преобразует её в объект.

Синтаксис

pythonpath('articles/<uuid:article_uuid>/', views.article_detail)

Пример

Давайте создадим маршрут, который принимает UUID статьи:

pythonfrom django.urls import path
from . import views

urlpatterns = [
  path('articles/<uuid:article_id>/', views.article_detail),
]

Пример

Рассмотрим функцию представления, которая принимает UUID:

pythonfrom django.http import HttpResponse
from uuid import UUID
from .models import Article

def article_detail(request, article_id: UUID):
  article = Article.objects.get(id=article_id)
  return HttpResponse(f"Article: {article.title}")

Пример

Рассмотрим использование конвертера с генерацией ссылок:

pythonfrom django.urls import reverse
from uuid import uuid4

# Генерируем новый UUID
article_uuid = uuid4()

# Создаем URL с использованием UUID
url = reverse('article_detail', kwargs={'article_id': article_uuid})
print(url)

Результат выполнения кода:

python"/articles/550e8400-e29b-41d4-a716-446655440000/"

Смотрите также

  • конвертер int,
    который преобразует строку в целое число
  • конвертер str,
    который преобразует строку без слэшей
  • конвертер slug,
    который преобразует строку, состоящую из букв, цифр, дефисов и подчеркиваний
  • конвертер path,
    который преобразует любую строку, включая слэши