Как получить доступ к Django UpdateView с использованием uuid в качестве шлака

Мне интересно, как я могу получить доступ к UpdateView, используя uuid в качестве slug. То есть моя цель - URL типа

http://myapp.example.de/edit/7efdbb03-bdcf-4b8a-85dd-eb96ac9954fd

Я определил представление следующим образом:

class DeviceEventUploadView(UpdateView):

    model = Event
    slug_url_kwarg = 'uuid_slug'
    slug_field = 'unique_id' 

и urls.py следующим образом:

    path('edit/<uuid:uuid_slug>',
        DeviceEventUploadView.as_view(),
        name='event_update'),

Здесь я получаю:


Using the URLconf defined in myproject.urls, Django tried these URL patterns, in this order:

    admin/
    ^edit/<uuid:uuid_slug> [name='event_update']

The current path, edit/7efdbb03-bdcf-4b8a-85dd-eb96ac9954fd/, didn’t match any of these.

Где мой провал в мышлении?

Вы забыли закрыть скобку <uuid:uuid_slug>. Ему нужна закрывающая угловая скобка >. Более того, это синтаксис path. Таким образом, вы определяете его следующим образом:

path(
    'edit/<uuid:uuid_slug>/',
    DeviceEventUploadView.as_view(),
    name='event_update'
),
Вернуться на верх