2010-09-14 5 views
0

j'ai donc 2 classesformes django autofiled par navigateur

celui-ci:

class updateForm(forms.Form): 
address = forms.CharField(
         max_length = 255, 
         label  = 'Home Address', 
         ) 
cnp = forms.CharField(
         max_length = 15, 
         label  = 'CNP', 
         ) 
phoneNumber = forms.CharField(
          max_length = 30, 
          label  = 'Phone number', 
          ) 
token = forms.CharField(
         max_length = 20, 
         label  = 'token', 
         ) 
oldPass = forms.CharField(
          widget  = forms.PasswordInput, 
          max_length = 30, 
          label  = 'Old Password', 
         ) 
newPass = forms.CharField(
          widget  = forms.PasswordInput, 
          max_length = 30, 
          label  = 'New Password', 
         )          
retypePass = forms.CharField(
          widget  = forms.PasswordInput, 
          max_length = 30, 
          label  = 'Retype Password', 
          ) 

et celui-ci:

class BaseUsernameForm(forms.Form): 
username = forms.CharField(max_length=255, 
          label='Username') 
def clean_username(self): 
    username = self.cleaned_data['username'] 
    return _clean_username(username) 

class BasePasswordForm(forms.Form): 
    password = forms.CharField(max_length=255, 
          widget=forms.PasswordInput, 
          label='Password') 

class LoginForm(BaseUsernameForm, BasePasswordForm): 
    pass 

après que je vous loguer ... et accéder à la page où le formulaire de mise à jour est ... je récupère le champ token et oldPass avec le token: nom d'utilisateur et oldPass: mot de passe de la forme de connexion ... pourquoi?

Dans le HTML, ils ne partagent aucun ID ou classe ... comment puis-je empêcher cela?

Répondre

2

Peut-être que les valeurs sont renseignées par votre navigateur? Essayez un autocomplete = « OFF » pour le champ d'entrée jeton et oldPass pour obtenir quelque chose comme ceci:

<input type="text" autocomplete="OFF" name="token"/> 
+0

Ouais je ... ce que j'ai découvert que je peux faire grincer comme name = forms.CharField ( widget = forms.TextInput (attrs = {'class': 'special'})) - mais j'utilise un formulaire.html et je n'ai pas besoin de bosser dans ce nouveau lorsque j'utilise ce formulaire et je l'ai fait

Thx pour la réponse :) PS: Je ne sais pas comment faire les balises "code" dans les commentaires ... – void