Est-ce que quelqu'un sait comment vous pouvez désactiver l'auto-complétion sur un champ de texte dans Django? Par exemple, un formulaire que je génère à partir de mon modèle a un champ de saisie pour un numéro de carte de crédit. C'est une mauvaise pratique de laisser l'autocomplétion activée. En faisant le formulaire à la main, j'ajouterais une instruction autocomplete = "off", mais comment le faites-vous dans Django tout en conservant la validation du formulaire?Désactiver la saisie semi-automatique dans textfield dans Django?
15
A
Répondre
21
Dans votre formulaire, spécifiez le widget que vous souhaitez utiliser pour le champ et ajoutez un dictionnaire attrs
sur ce widget. Par exemple (droit du django documentation):
class CommentForm(forms.Form):
name = forms.CharField(
widget=forms.TextInput(attrs={'class':'special'}))
url = forms.URLField()
comment = forms.CharField(
widget=forms.TextInput(attrs={'size':'40'}))
il suffit d'ajouter 'autocomplete'='off'
au dict attrs.
21
2
Si vous définissez vos propres formulaires, vous pouvez ajouter des attributs à vos champs du formulaire.
class CommentForm(forms.Form):
name = forms.CharField(widget=forms.TextInput(attrs={
'autocomplete':'off'
}))
Si vous utilisez des modèles, vous n'aurez pas le luxe de définir des attributs de champ dans le formulaire. Toutefois, vous pouvez utiliser __init__
pour ajouter les attributs requis.
class CommentForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(CommentForm, self).__init__(*args, **kwargs)
self.fields['name'].widget.attrs.update({
'autocomplete': 'off'
})
Vous pouvez également ajouter des attributs de Meta
class CommentForm(forms.ModelForm):
class Meta:
widgets = {
'name': TextInput(attrs={'autocomplete': 'off'}),
}
Questions connexes
- 1. Désactiver la création de session dans Django
- 2. désactiver un bloc dans django
- 3. Désactiver HTML TextField Dérouler boîte à suggestions
- 4. La saisie semi-automatique JQuery dans Django ne fonctionne pas
- 5. comment désactiver bulk_action dans django 1.1 beta
- 6. TextField dans UITableView
- 7. Tags dans TextField
- 8. Zone de saisie HTML - Désactiver
- 9. regex dans textfield
- 10. TextField dans UITableView
- 11. aucun texte dans textfield
- 12. Problème dans Flash TextField
- 13. Validation Django TextField max_length pour ModelForm
- 14. Comment désactiver le champ de saisie de fichier dans JFileChooser?
- 15. iRegex pour la date dans l'utilisateur entré textfield
- 16. TextField n'apparaît pas dans Sprite
- 17. Est-il possible de désactiver la saisie semi-automatique?
- 18. TextField avec clavier dans cocos2d!
- 19. Désactiver la saisie semi-automatique de la barre d'outils Google dans IE et FF
- 20. Comment désactiver la recherche dynamique lors de la saisie dans une zone de liste
- 21. Curseur jQuery-UI - comment désactiver la saisie au clavier?
- 22. Désactiver la saisie au clavier sur Android TimePicker
- 23. désactiver la saisie semi-automatique du navigateur pour ajax: AutoCompleteExtender
- 24. google chrome drag textfield
- 25. identifier la valeur textfield pour cacher la DIV dans jQuery
- 26. Désactiver la touche 'Retour' dans un QPlainTextEdit
- 27. Comment désactiver la saisie semi-automatique du champ de saisie avec EditorFor?
- 28. Comment désactiver la saisie semi-automatique dans le clavier iPhone UITextView
- 29. Comment désactiver la recherche de dictionnaire dans le champ de saisie du navigateur Web?
- 30. Comment désactiver la saisie semi-automatique pour les mots de passe dans IE8 via GPO?
Merci! Je l'ai trouvé 1 minute avant votre réponse ... n'est-ce pas toujours le cas ?! –
Cela ne fonctionne pas pour moi dans Chrome. Il remplit toujours automatiquement les champs de nom d'utilisateur et de mot de passe, même lorsque la saisie semi-automatique est désactivée. – Cerin
jeter un oeil à cette question: http://stackoverflow.com/questions/15738259/disabling-chrome-autofill – codescribblr