@artem_xd

Django. Как сделать возврат на предыдущую страницу?

У меня есть django-контроллер image_delete. Я использую его на нескольких страницах. Мне нужно, чтобы после удаления изображения контроллер возвращал меня на предыдущую страницу. Но я получаю ошибку. в чем проблема? Как это исправить?

views.py
class ImageDelete(DeleteView):
    model = Picture 
    template_name = 'adminapp/pet/pet_image_delete.html'
    
    @method_decorator(user_passes_test(lambda x: x.is_superuser)) 
    def dispatch(self, *args, **kwargs): 
        return super().dispatch(*args, **kwargs)

    def get_success_url(self):
        return HttpResponseRedirect(request.META.get('HTTP_REFERER'))


Если перед "request" прописываю "self", то получаю ошибку "quote_from_bytes () expected bytes"

urls.py
path('delete/image/<int:pk>/', adminapp.ImageDelete.as_view(model=Picture), name='image_delete')


Ошибка на скрине.
5da578b3de98f551069773.png
  • Вопрос задан
  • 2494 просмотра
Пригласить эксперта
Ответы на вопрос 1
@MAGistr_MTM
Учусь программировать
def get_success_url(self): должен вернуть урлу а не респонс. Попробуйте просто
def get_success_url(self):
    return request.META.get('HTTP_REFERER')
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы