Django: отслеживание отображается на форме в виде текста после Bad Request 400

У меня есть ajax представления для редактирования и сохранения объектов. Когда я редактирую объект, соответствующие формы и наборы форм загружаются с инстанцированными данными. Теперь я получаю эту ошибку, когда пользователь пытается добавить более 1000 полей:

POST параметры превысили settings.DATA_UPLOAD_MAX_NUMBER_FIELDS.

Проблема в том, что код трассировки вставляется прямо на форму и становится видимым для всех:

Traceback inserted as text on form

По замыслу, я ожидаю код ответа на фронтенде, который равен 400 для ошибок формы django. Однако в данном случае ошибка 400 возникает из-за неправильного запроса, а не из-за ошибок формы. В результате, после сохранения объекта, у меня есть полный трассировочный откат, отображаемый прямо в форме в виде обычного текста.

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

P.S. Я использую стандартный django framework для обработки форм: никаких переопределений, которые могли бы на что-то повлиять. Поэтому проблема скорее в дизайне, чем в коде.

Вернуться на верх