J'essaie de créer un formulaire d'inscription pour mon application django. Pour cela, j'ai étendu le modèle de l'utilisateur. Ceci est mon Forms.pyextension django usermodel
from contact.models import register
from django import forms
from django.contrib import auth
class registerForm(forms.ModelForm):
class Meta:
model=register
fields = ('latitude', 'longitude', 'status')
class Meta:
model = auth.models.User # this gives me the User fields
fields = ('username', 'first_name', 'last_name', 'email')
et voici mon model.py
from django.db import models
from django.contrib.auth.models import User
STATUS_CHOICES = (
('Online', 'Online.'),
('Busy', 'Busy.'),
('AppearOffline', 'AppearOffline.'),)
class register(models.Model):
user = models.ForeignKey('auth.User', unique = True)
latitude = models.DecimalField(max_digits=8, decimal_places=6)
longitude = models.DecimalField(max_digits=8, decimal_places=6)
status = models.CharField(max_length=8,choices=STATUS_CHOICES, blank= True, null=True)
je ne sais pas où je fais une erreur. les mots de passe des utilisateurs ne sont pas acceptés lors de la connexion et la latitude et la logitude ne sont pas sauvegardées par rapport à l'utilisateur utilisateur créé. je suis fiarly nouveau à django et ne sais pas quoi faire tout corps ont une solution.?
Pourquoi utilise comme UserProfile le meilleur? C'est comme ça que je le fais actuellement, mais je me dis que ce serait mieux si je le faisais par héritage. Le blog que James Bennett a écrit sur l'extension du modèle utilisateur est vraiment vieux. Et Django a beaucoup changé depuis. Donc je suppose que ma question est: quel est le problème de le faire via l'héritage? Y a-t-il des problèmes? (Django 1.2+) – rdegges
Je ne pense pas que ce soit mal de le faire via l'héritage! Cela dépend de ce que vous voulez réaliser et l'ajout d'un profil d'utilisateur est le moyen officiel recommandé et je suppose que si la chose consiste à ajouter deux champs, c'est OK! –
merci pour l'aide ... je l'ai fait de cette façon, mais j'ai eu un autre problème que seul un champ de mot de passe est montré sur le formulaire. et un lien disant "changer le mot de passe", mais ne peux même pas accéder à ce lien, il me donne une page introuvable erreur. et le mot de passe n'est pas sauvegardé dans la base de données quand je le vérifie depuis l'administrateur django toute aide merci – MajorGeek