2014-10-08 2 views
4

У меня есть UpdateView в Django.Две разные кнопки отправки в том же виде в Django

У меня есть обычная кнопка отправки. Когда объект обновляется правильно, он перенаправляется в список объектов через success_url.

Могу ли я создать две разные кнопки отправки: одна кнопка, которая отправляет и переадресовывает страницу списка объектов (ListView) и другую кнопку, которая отправляет и перенаправляет страницу подробного описания объекта (DetailView)?

Я не знаю, как это сделать умным способом.

ответ

9

Поскольку вы отправляетесь в одно и то же место и хотите изменить место назначения перенаправления после сохранения, это просто. Кнопки отправки аналогичны любым другим элементам управления вводом, поскольку они имеют имя и значение, и вы получаете их в данных POST. Таким образом, в шаблоне вы можете иметь:

<input type="submit" name="list" value="Submit and go to list"> 
<input type="submit" name="detail" value="Submit and go to detail"> 

и на ваш взгляд:

if form.is_valid(): 
    form.save() 
    if 'list' in request.POST: 
     return redirect('list_url') 
    else: 
     return redirect('detail_url') 
Смежные вопросы