Реверс для 'упаковка' с ключевыми аргументами '{'id': '15'}' не найден. Проверено 1 шаблон(ы): ['packing/(?P<pk>[^/]+)$'] django
У меня возникла проблема, всякий раз, когда пользователи нажимают на кнопку, url может показать, что ему удалось получить ID из ссылки: http://127.0.0.1:8000/packing/15, но при перенаправлении на ссылку выдает ошибку: Reverse for 'packing' with keyword arguments '{'id': '15'}' not found. 1 шаблон(ы) проверены: ['packing/(?P[^/]+)$']. Как исправить эту ошибку?
Вот как это должно выглядеть после редиректа, но он просто выдает мне ошибку.
views.py
@login_required()
def packing(request, pk):
photo = get_object_or_404(Photo, id=pk)
if request.method == "POST":
form = packingForm(request.POST, instance=photo)
pickingform = pickingForm(request.POST, instance=photo)
if form.is_valid():
if form != photo.packing:
photo.status = 'Packing'
photo.Datetime = datetime.now()
form.save()
return redirect('packing', id=pk)
if pickingform.is_valid():
if pickingform != photo.picking:
photo.status = 'Picking'
photo.Datetime = datetime.now()
form.save()
return redirect('packing', id=pk)
else:
pickingform = pickingForm(instance=photo)
form = packingForm(instance=photo)
context = {
"pickingform": pickingform,
"form": form,
"photo": photo
}
return render(request, 'packing.html', context, )
forms.py
class packingForm(forms.ModelForm):
USER_TYPE_CHOICES = (
('Yes', 'Yes'),
('No', 'No'),)
packing = forms.ChoiceField(required=True, widget=forms.RadioSelect, choices=USER_TYPE_CHOICES)
class Meta:
model = Photo
fields = ("packing", )
def __init__(self, *args, **kwargs):
super(packingForm, self).__init__(*args, **kwargs)
self.fields['packing'].required = False
class pickingForm(forms.ModelForm):
PICKING = (
('Yes', 'Yes'),
('No', 'No'),
)
picking = forms.ChoiceField(required=True, widget=forms.RadioSelect, choices=PICKING)
class Meta:
model = Photo
fields = ("picking",)
def __init__(self, *args, **kwargs):
super(pickingForm, self).__init__(*args, **kwargs)
self.fields['picking'].required = False
packing.html
urls.py
path('packing/<str:pk>', views.packing, name='packing'),