Как я могу перенаправить на странице quick_view после удаления отзывов?
Моя цель состоит в том, что я хочу перенаправить quick_view.html
после удаления определенного отзыва о конкретном продукте. Как я могу это сделать?
views.py:
def quick_view(request, quick_view_id):
quick_view = get_object_or_404(Products, pk=quick_view_id)
context = {
"quick_view":quick_view,
}
return render(request, 'quickVIEW_item.html', context)
def feedBack(request,quick_view_id):
quick_view = get_object_or_404(Products, pk=quick_view_id)
if request.method == "POST" and request.user.is_authenticated:
try:
ProductREVIEWS.objects.create(
user=request.user,
product=quick_view,
feedBACK=request.POST.get('feedBACK'),
)
return redirect('quick_view', quick_view_id)
except:
return redirect('quick_view', quick_view_id)
else:
return redirect('quick_view', quick_view_id)
После удаления конкретного отзыва я хочу перенаправить на страницу quick_view этого конкретного продукта. Теперь показывает следующую ошибку:
def DeleteFeedback(request,id,quick_view_id):
ProductREVIEWS.objects.get(pk=id).delete()
messages.success(request,"Successfully your feedback deleted.")
return redirect('quick_view', quick_view_id)
urls.py:
path('quick_view/<int:quick_view_id>/', views.quick_view, name="quick_view"),
path("feedBack/<int:quick_view_id>/", views.feedBack, name="feedBack"),
path("DeleteFeedback/<int:id>/", views.DeleteFeedback, name="DeleteFeedback")
error:
TypeError at /DeleteFeedback/22/
DeleteFeedback() missing 1 required positional argument: 'quick_view_id'
Request Method: GET
Request URL: http://127.0.0.1:8000/DeleteFeedback/22/
Django Version: 4.0.4
Exception Type: TypeError
Exception Value:
DeleteFeedback() missing 1 required positional argument: 'quick_view_id'
Exception Location: D:\1_WebDevelopment\17_Ecomerce Website\ecomerce site\env\lib\site-packages\django\core\handlers\base.py, line 197, in _get_response
Python Executable: D:\1_WebDevelopment\17_Ecomerce Website\ecomerce site\env\Scripts\python.exe
Python Version: 3.9.5
Python Path:
['D:\\1_WebDevelopment\\17_Ecomerce Website\\ecomerce site',
'c:\\users\\dcl\\appdata\\local\\programs\\python\\python39\\python39.zip',
'c:\\users\\dcl\\appdata\\local\\programs\\python\\python39\\DLLs',
'c:\\users\\dcl\\appdata\\local\\programs\\python\\python39\\lib',
'c:\\users\\dcl\\appdata\\local\\programs\\python\\python39',
'D:\\1_WebDevelopment\\17_Ecomerce Website\\ecomerce site\\env',
'D:\\1_WebDevelopment\\17_Ecomerce Website\\ecomerce '
'site\\env\\lib\\site-packages']
Server time: Sat, 16 Jul 2022 05:49:50 +0000
Я решил эту проблему и поделился с вами, чтобы людям было полезно😊...
def DeleteFeedback(request,id):
feedback = ProductREVIEWS.objects.get(pk=id)
product_id = feedback.product.id
feedback.delete()
messages.success(request,"Successfully your feedback deleted.")
return redirect(reverse('quick_view', args=[product_id]))