Обновление значений таблицы в зависимости от того, какая кнопка была нажата
У меня есть DetailView
, который показывает всю информацию о транзакции, начиная с id транзакции, имени, даты создания, .... и статуса. На этой странице у меня есть 3 кнопки - отмена, одобрение и отказ.
что я хочу сделать: когда я нажимаю кнопку отмены, статус изменяется на "Отменено", некоторые кнопки отклонить и одобрить изменяют статус на "Отклонено" и "Успешно".
как я могу это сделать?
Я пытался добавить форму в шаблон со скрытым вводом и методом post, но после submit она показывает страницу с 405 ошибкой.
Просто предположение, потому что вы не опубликовали никакого кода.
405 указывает на то, что ваше представление не принимает POST-запросы.
В Django есть разные способы решения этой проблемы.
Декоратор
Используйте декоратор require_http_methods
, как описано в https://docs.djangoproject.com/en/4.0/topics/http/decorators/#allowed-http-methods.
UpdateView
Если вам нравятся общие представления, основанные на классах, используйте https://docs.djangoproject.com/en/4.0/ref/class-based-views/generic-editing/#django.views.generic.edit.UpdateView.
Вы можете использовать UpdateViews, даже если вы хотите изменить только одно поле вашей модели.