Я могу хранить пароль, когда хочу создать пользователя в django
Модель
это моя расширенная модель с полями один к одному
class Etudiant(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE,null=True,blank=True)
nom = models.CharField(max_length=50)
prenom = models.CharField(max_length=50)
username = models.CharField(max_length=50)
num_cart = models.IntegerField(default=0)
email = models.EmailField(max_length=254)
date_naissance = models.DateField(auto_now=False, auto_now_add=False,blank=True,null=True)
password = models.CharField(max_length=50,null=True,blank=True)
groupe = models.ForeignKey("Group", on_delete=models.CASCADE,null=True,blank=True)
это формы формы пользователя и формы этюдианта
forms.py
class UserForm(forms.ModelForm):
class Meta:
model = User
fields = ('username','first_name', 'last_name', 'email','password')
widgets = {
'username' : forms.TextInput(attrs={'class':'form-control'}),
'first_name' : forms.TextInput(attrs={'class':'form-control'}),
'last_name' : forms.TextInput(attrs={'class':'form-control'}),
'email' : forms.EmailInput(attrs={'class':'form-control'}),
'password' : forms.PasswordInput(attrs={'class':'form-control'}),
}
class EtudiantForm(forms.ModelForm):
class Meta:
model = Etudiant
fields = ('num_cart','date_naissance','groupe')
widgets = {
'num_cart' : forms.NumberInput(attrs={'class':'form-control'}),
'date_naissance' : forms.DateInput(attrs={'class':'form-control'}),
'groupe' : forms.Select(attrs={'class':'form-control'}),
}
в этом представлении для хранения данных в db все данные сохранены только пароль я вижу "Неверный формат пароля или неизвестный алгоритм хэширования. "
#views.py
def ajouter_etudiant(request):
user_form = UserForm()
etudiant_form = EtudiantForm()
if request.method == 'POST':
user_form = UserForm(request.POST)
if user_form.is_valid() :
user_form.save()
user = User.objects.get(username = request.POST['username'])
groupe_name = Group.objects.get(id=request.POST.get('groupe'))
Etudiant.objects.create(
user = user,
username = user.username,
nom = user.last_name,
prenom = user.first_name,
num_cart = 123456789123456789,
email = user.email,
date_naissance = request.POST.get('date_naissance'),
groupe = groupe_name
)
return redirect('all_etudiant')
return render(request,'etudiant/ajouter-etudiant.html',{'form' : user_form,'form2':etudiant_form})