Постройте Django URL для export_selected_objects. Пример функции из официальной документации django

Я пытаюсь построить URL, который соответствует перенаправлению из этой функции:

def export_selected_objects(modeladmin, request, queryset):
    selected = queryset.values_list('pk', flat=True)
    ct = ContentType.objects.get_for_model(queryset.model)
    return HttpResponseRedirect('/export/?ct=%s&ids=%s' % (
        ct.pk,
        ','.join(str(pk) for pk in selected),
    ))

Вот что я пробовал:

from django.urls import path, re_path

from . import views

urlpatterns = [
    re_path(r'^export/(?P<ct>[0-9]{2})/(?P<ids>[0-9]{4})/$', views.test),
    path('export/<int:ct><int:ids>/', views.test),
    path('export/<int:ct>/<int:ids>/', views.test),
    path('export/<ct><ids>/', views.test),
]

Но ни один из них не подходит.

Сообщение об ошибке

Может кто-нибудь подсказать, что я здесь упускаю?

Большое спасибо!

Себастьян

Вы генерируете URL с параметрами запроса, который выглядит следующим образом:

/export/?ct=%s&ids=%s

Часть, начиная с ? и далее, игнорируется распознавателем URL. Ваш файл URL ожидает следующего формата:

/export/<ct>/<ids>/

Но запрашиваемый вами URL не соответствует этому, и в файле также нет ничего, соответствующего вашему URL.

Вы можете либо:

a) добавьте path('export/', ...) в ваш файл urls.py

b) изменить сгенерированную строку URL на /export/%s/%s/

Вернуться на верх