Ich versuche herauszufinden, wie man den Benutzernamen und/oder das Passwort von der UserChangeForm
ausschließen kann. Ich habe sowohl exclude
als auch fields
ausprobiert, aber ich arbeite nicht für diese beiden Felder.Benutzernamen oder Passwort von UserChangeForm in Django Auth ausschließen
Hier einige Code:
class ArtistForm(ModelForm):
class Meta:
model = Artist
exclude = ('user',)
class UserForm(UserChangeForm):
class Meta:
model = User
fields = (
'first_name',
'last_name',
'email',
)
exclude = ('username','password',)
def __init__(self, *args, **kwargs):
self.helper = FormHelper
self.helper.form_tag = False
super(UserForm, self).__init__(*args, **kwargs)
artist_kwargs = kwargs.copy()
if kwargs.has_key('instance'):
self.artist = kwargs['instance'].artist
artist_kwargs['instance'] = self.artist
self.artist_form = ArtistForm(*args, **artist_kwargs)
self.fields.update(self.artist_form.fields)
self.initial.update(self.artist_form.initial)
def clean(self):
cleaned_data = super(UserForm, self).clean()
self.errors.update(self.artist_form.errors)
return cleaned_data
def save(self, commit=True):
self.artist_form.save(commit)
return super(UserForm, self).save(commit)
Ok Lesen Sie mehr hier, der den Auftrag hat, aber Jetzt werden Benutzername und Passwort bei jedem Aufruf von 'save()' NULL gesetzt. Außerdem wird das Argument meiner erweiterten Benutzerklasse nicht als Äther gespeichert. – codingjoe