Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Как передать параметры в представление на основе UpdateView? [RSS Feed]

#1 Янв. 23, 2021 13:47:44

Alex.py
Зарегистрирован: 2020-09-20
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Как передать параметры в представление на основе UpdateView?

Здравствуйте! Да, действительно , как их передать.

В представление на основе класса UpdateView передаются:

1) некоторый параметр с именем brif_id
2) некоторый параметр с именем pk

Для меня имеет значение первый, так как нужно сделать перенаправление на success_url , который вычисляется reverse_lazy и в этот url нужно передать первый параметр и ещё один, значение которого уже известно — то есть его можно вручную указать программно.

В классе представления переопределил метод:

 def get_success_url(self,):
	return reverse_lazy('question:questions', kwargs={'brif_id': self.kwargs['brif_id'] , 'edit': '1'})

Вызывается исключение: Not Found — ни одно совпадение не распознается. То ли параметра нет в kwargs.

В каком атрибуте класса UpdateView параметры искать?


Даже если не предоставить success_url, ищется этот url http://127.0.0.1:8000/briefing/questions/2

Ожидаемый, который должен вычислить reverse_lazy: http://127.0.0.1:8000/briefing/questions/2/edit=1

Вот само выражение:

 r'^briefing/questions/(?P<brif_id>[-+]?\d+)/edit=(?P<edit>\d{1})/$'

Просто уже подозрения, что url вычисляется неправильно и берётся из экземпляра модели. А это, очевидно, неправильный url.

Отредактировано Alex.py (Янв. 23, 2021 18:44:56)

Офлайн

#2 Янв. 23, 2021 22:49:48

Alex.py
Зарегистрирован: 2020-09-20
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Как передать параметры в представление на основе UpdateView?

Разобрался, спасибо за внимание)

Сам переопределил метод form_valid и делал перенаправление на левый адрес.

Офлайн

  • Начало
  • » Django
  • » Как передать параметры в представление на основе UpdateView?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version