Я хочу реализовать этот алгоритм:
Например,
Книга с таким именем уже существует. Хотите сохранить еще одну книгу с этим именем? Да / Отмена
Книга с таким именем уже существует.
Хотите сохранить еще одну книгу с этим именем?
Да / Отмена
Как лучше в этом случае?
Метод clean () вызывается, когда вы вызываете is_valid () в вашем представлении.Таким образом, по вашему мнению, у вас должно быть что-то вроде:
if not my_form.is_valid(): return render(request, 'confirmation_page_template.html', {})
Если вы работаете с представлениями на основе классов , вам следует переопределить метод form_invalid в соответствии с документами :
form_invalid
form_invalid(форма) Отображает ответ, предоставляя недопустимую форму в качестве контекста.
form_invalid(форма)
Отображает ответ, предоставляя недопустимую форму в качестве контекста.
Обычно этот метод возвращается к тому же представлению, отображающему ошибки формы, вы можете использовать любойдругой вид, и наличие ошибочной формы дает вам возможность сообщение пользователю с ошибками, если хотите.
Вы должны подумать о предоставлениивозможность подтверждения недействительной формы, вы не должны давать пользователю возможность подтвердить неверные данные.