UUID Converter in URLs

A snippet showing how to use UUID converters in Django URLs.


# models.py

from django.db import models
import uuid

class Payment(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    amount = models.DecimalField(max_digits=8, decimal_places=2, default=0)
      

# admin.py

from django.contrib import admin
from .models import Payment

@admin.register(Payment)
class PaymentAdmin(admin.ModelAdmin):
    list_display = ("id", "amount")
      

# urls.py
from django.urls import path
from . import views
urlpatterns = [
    path("payments/<uuid:pk>/", views.payment_detail, name="payment-detail"),
]

# views.py
from django.shortcuts import get_object_or_404, render
from .models import Payment

def payment_detail(request, pk):
    payment = get_object_or_404(Payment, pk=pk)
    return render(request, "payment_detail.html", {"payment": payment})
      
Explanation:
  • Use <uuid:pk> for UUID-based identifiers; Django converts to UUID objects.
  • Great for non-sequential, opaque IDs.
  • Category URLs & Routing
  • Total Views 580
  • Last Modified 13 March, 2026
  • Tags #urls #uuid #converter #routing
Never miss a story on Django.wiki

Subscribe for fresh tutorials, snippets, and updates.

By subscribing you agree to our Privacy Policy.