Конвертер uuid
Конвертер uuid применяется в маршрутах Django
для преобразования строковых представлений UUID из URL
в объекты UUID Python. Это позволяет удобно
передавать UUID в качестве параметров в функции представления.
Конвертер автоматически проверяет, что переданная строка
является корректным UUID, и преобразует её в объект.
Синтаксис
path('articles/<uuid:article_uuid>/', views.article_detail)
Пример
Давайте создадим маршрут, который принимает UUID статьи:
from django.urls import path
from . import views
urlpatterns = [
path('articles/<uuid:article_id>/', views.article_detail),
]
Пример
Рассмотрим функцию представления, которая принимает UUID:
from 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}")
Пример
Рассмотрим использование конвертера с генерацией ссылок:
from 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)
Результат выполнения кода:
"/articles/550e8400-e29b-41d4-a716-446655440000/"