Django forms.PasswordInput() обновил основной пароль моего приложения

В моем приложении Django есть пользовательское поле, отображаемое с помощью виджета forms.PasswordInput(). С визуальной точки зрения это работает как ожидалось. Однако Chrome определяет это как пароль и затем обновляет это поле основным паролем, который пользователь мог установить на своей учетной записи в приложении. Есть ли способ получить поле forms.PasswordInput() без того, чтобы Chrome запутал поля паролей в нем?

Вы должны добавить autocomplete="off" к вводу пароля, либо в html, как показано здесь:

<input name="password" type="password" autocomplete="off"/>

или в вашем forms.py вот так:

password = forms.PasswordInput(attrs={"autocomplete":"off"})

Больше информации можно найти в документации Mozilla по этой теме.

Редактировать

Это работает в моей устаревшей версии Chrome, но не поддерживается в последних версиях. Вы можете попробовать хак, описанный здесь, но я бы предпочел использовать Javascript для сброса формы. Ниже приведен пример jQuery:

$(() => { // document.ready : wait dom to be loaded
    $('[name=password]').val("") // reset value
})
Вернуться на верх