Можно ли в Django создать две разные кнопки отправки в одной форме?
Так что я работаю над своим проектом Django и столкнулся с проблемой. У меня есть пользовательская ModelForm, с которой я пытаюсь сделать две разные работы. Я пытаюсь создать две кнопки отправки для формы, одну для обычной отправки, а другую для внесения изменений во входные данные и последующей отправки.
Для примера, допустим, у меня есть поле name
в моей форме. Если пользователь нажимает на кнопку A, name
отправляется. Но если пользователь нажимает кнопку B, я хочу, чтобы поле name
было представлено как name@gmail.com
.
Возможно ли, чтобы две кнопки работали по-разному в одной форме Django? Заранее спасибо.
Это возможно, в вашем представлении вы бы сделали что-то вроде этого:
class SomeView(UpdateView):
...
def form_valid(self, form):
self.object = form.save(commit=False)
if 'add-email' in self.request.POST:
self.object.name = f'{self.object.name}@gmail.com'
self.object.save()
Затем в вашем шаблоне:
<form ...>
<button type="submit" name="save">Submit</button>
<button type="submit" name="add-email">Submit with Email</button>
</form>