Как заставить django перенаправить пользователя на нужную мне страницу?
У меня есть веб-приложение. Например, пользователь находится на странице с локальным адресом: 8000 / detail-order / 18. Эта страница является подробной информацией о заказе 18. На этой странице находится ссылка для редактирования этого заказа. Когда пользователь нажимает эту ссылку, появляется форма редактирования заказа. Когда пользователь пишет в этой форме и нажимает кнопку отправки, у него появляется ошибка. Мне бы хотелось, чтобы пользователь вернулся к локальному: 8000 / detail-order / 18.
NoReverseMatch в / update-orders / 18
Обратный для 'detail_order' без аргументов, не найденных. Попробован 1 шаблон (ов): ['detail \ -order / (? P [0-9] +) $']
Метод запроса: POST
URL запроса: http://192.168.0.249: 8000 / update-orders / 18
Django Версия: 3.0.5
Тип исключения: NoReverseMatch
Значение исключения:
Обратное для 'detail_order' без аргументов не найдено. Попробован 1 шаблон (ов): ['detail \ -order / (? P [0-9] +) $']
Местоположение исключения: /root/.local/share/virtualenvs/myp4-4l8n6HJk/ lib / python3 .7 / site-packages / django / urls / resolvers.py в _reverse_with_prefix, строка 677
urls.py
from django.contrib import admin
from django.urls import path, include
from .views import *
from print import views
urlpatterns = [
path('', views.home_page, name='index'),
path('orders', views.OrderCreateView.as_view(), name='orders'),
path('update-orders/<int:pk>', views.UpdateOrderView.as_view(), name='update_order'),
path('delete-orders/<int:pk>', views.DeleteOrderView.as_view(), name='delete_order'),
path('detail-order/<int:pk>', views.DetailOrderView.as_view(), name='detail_order'),
]
views.py
class UpdateOrderView(CustomSuccessMessageMixin, UpdateView):
model = Order
template_name = 'orders.html'
form_class = OrderForm
success_url = reverse_lazy('detail_order')# HERE
success_msg = 'Изменения сохранены'
def get_context_data(self, **kwargs):
kwargs['update'] = True
return super().get_context_data(**kwargs)