Je suis en train d'écrire un site web et je voudrais mettre en œuvre la gestion de profil. Chose de base serait d'éditer certains des détails de l'utilisateur par eux-mêmes, comme le prénom et le nom etc. Maintenant, j'ai dû étendre le modèle utilisateur pour ajouter mes propres trucs, et adresse e-mail.Django extension du modèle utilisateur et affichage du formulaire
J'ai des problèmes avec la forme d'affichage. L'exemple décrira mieux ce que je souhaite réaliser.
Ceci est le modèle d'utilisateur étendu de mine.
class UserExtended(models.Model):
user = models.ForeignKey(User, unique=True)
kod_pocztowy = models.CharField(max_length=6,blank=True)
email = models.EmailField()
Voici à quoi ressemble ma forme.
class UserCreationFormExtended(UserCreationForm):
def __init__(self, *args, **kwargs):
super(UserCreationFormExtended, self).__init__(*args, **kwargs)
self.fields['email'].required = True
self.fields['first_name'].required = False
self.fields['last_name'].required = False
class Meta:
model = User
fields = ('username', 'first_name', 'last_name', 'email')
Il fonctionne très bien lors de l'enregistrement, comme je l'ai besoin permettent aux utilisateurs de mettre le nom d'utilisateur et le courrier électronique, mais quand il va à l'édition de profils affiche trop de champs. Je ne voudrais pas qu'ils puissent éditer le nom d'utilisateur et le courrier électronique. Comment pourrais-je désactiver les champs dans le formulaire?
Merci pour votre aide.