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
})