Невозможно поместить больше параметров в пост Django

У меня проблема Я получаю ошибку post() missing 1 required positional argument: 'pk'.

Это произошло, когда я добавил в него slug. Есть ли какое-нибудь обходное решение? Буду благодарен за любую помощь.

def post(self, request, pk, username, slug):
          if 'delete' in self.request.POST:
             Item.objects.get(id=pk).delete()
             print('deleted')
             return redirect('home-page')
          if 'add' in self.request.POST:
             form = ItemCreationForm(self.request.POST)
             if form.is_valid():
                form.save()
                name = form.cleaned_data.get('itemName')
                item = Item.objects.create(itemName=name)
                card =  Card.objects.get(user=self.request.user, slug=self.kwargs.get('slug'))
                card.cardItems.add(item)
                return redirect('todo-page', username=self.request.user.username, slug=self.kwargs.get('slug'))

urls.py

path('', Home.as_view(), name='home-page'),
path('todo/<str:username>/<slug:slug>', TodoView.as_view(), name='todo-page'),
path('sign-up', Signup.as_view(), name="sign-up-page"),
path('logout', views.logout_view, name='logout-page'),
path('login', views.loginView, name='login-page'),
path('profile/<str:pk>', ProfileView.as_view(), name='profile-page')

*добавленные урлы

Это потому, что ваш url не подготовлен к приему pk, вам нужно сделать что-то вроде

path('todo/<int:pk>/<str:username>/<slug:slug>', TodoView.as_view(), name='todo-page')
Вернуться на верх