Django не находит страницу перенаправления

Ребята, у меня есть следующие коды, я пытаюсь перенаправить представление GoalUpdate на GoalPageView, но получаю следующую ошибку:

Поиск для 'Goals.views.GoalPageView' с ключевыми аргументами '{'kwargs': {'username': 'admin', 'goal_id': '1'}}' не найден. Попытка 1 шаблона(ов): ['people/(?P[^/]+)/goals/(?P<goal_id>[^/]+)/\Z']

Мои URL

urlpatterns = [
    path('<username>/goals/',GoalsView,name='Goals'),
    path('<username>/goals/<goal_id>/',GoalPageView,name='Goal Page'),
    path('<username>/goals/<goal_id>/update/',GoalUpdate,name='Goal Update'),
                ]

Мои взгляды:

def GoalPageView(request,username,goal_id):

    some view code

    return render(request,'goal_page.html',context=context)



def GoalUpdate(request,username,goal_id):

    Some View Code
    
    return redirect(GoalPageView,kwargs={'username':username,'goal_id':goal_id})

redirect не принимает args и kwargs, а использует позиционные и именованные параметры напрямую, так:

def GoalUpdate(request, username, goal_id):
    # some view code …
    return redirect('Goal Page', username=username, goal_id=goal_id)

Примечание: Функции обычно пишутся в snake_case, а не PascalCase, поэтому следует рекомендуется переименовать вашу функцию в goal_update, а не GoalUpdate.

Вы должны использовать name из url, а не сам View. Чтобы добавить kwargs, например, вы можете использовать reverse_lazy:

return redirect(reverse_lazy('Goal Page', kwargs={'username':username, 'goal_id':goal_id}))

Но я думаю, что Виллем дал вам более простое решение.

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