Django Обратное с аргументами '(5,)' не найдено - PullRequest
0 голосов
/ 03 февраля 2020

Я создал представление, которое принимает 3 аргумента, но я получаю следующую ошибку на домашней странице.

Реверс для 'application-detail' с аргументами '(5,)' не найден. Попробован 1 шаблон (ов): ['(? P [0-9] +) / devices / (? P [^ /] +) $']

urlpatterns = [
    path('',views.MapView,name='home'),
    path('map/',views.MapView,name='map'),
    path('<int:application_id>/devices/<cat>', views.ApplicationDetail, name='application-detail'),
]

Просмотр:

def ApplicationDetail(request, application_id,cat):
        device = Device.objects.all().filter(category=cat)
        data = serializers.serialize('json', device)
        return HttpResponse(data, content_type='application/json')

1 Ответ

1 голос
/ 03 февраля 2020

Скорее всего, вы вызываете функцию reverse где-то в вашем коде, например:

reverse('application-detail', args=(5))

Однако path для reverse принимает два аргумента, int (application_id ) и string (cat) и, таким образом, при вызове в обратном направлении вы также должны указать string, например:

reverse('application-detail', args=(5, 'super cat`))
...