Vous n'êtes pas identifié(e).
Bonjour,
je voudrais enrégister les données de mon formulaires dans une base de donnée.
je fais le formulaire à partir de model, voici mon code:
class Eleve(models.Model):
username = models.CharField(_('username'), max_length=30, unique=True, )
first_name = models.CharField(_('first name'), max_length=30, blank=True)
last_name = models.CharField(_('last name'), max_length=30, blank=True)
email = models.EmailField(_('e-mail address'), blank=True)
password = models.CharField(_('password'), max_length=128, )
sex = models.CharField(max_length=10, choices=GENDER_CHOICES)
geographie = models.CharField(max_length=42, choices=COUNTRY)
town = models.CharField(max_length=42)
Eleve.save()
def __unicode__(self):
return self.username
dans le console j'ai cette erreur: Name 'Eleve' is not defined.
j'aimerais savoir comment je dois procéder pour enregistrer les données du formulaire dans la base de donée.
merci
Hors ligne
ok merci voici le code de ma vue
from django.http import HttpResponse
from django.shortcuts import render_to_response, redirect
from django import forms
from models import Eleve
def index(request):
return render_to_response('index.html')
class Eleve(forms.ModelForm):
class Meta:
model = Eleve
widgets = {
'password': forms.PasswordInput(),
}
def clean_password(self):
password = self.cleaned_data['password']
length = len(password)
if length < 8:
raise forms.ValidationError("Password has to be at least 8 characters long.")
return password
def account(request):
if request.method == 'POST':
form_d = Eleve(request.POST)
if form_d.is_valid():
username = form.cleaned_data['username']
lastname = form.cleaned_data['firstname']
firstname = form.cleaned_data['firstname']
email = form.cleaned_data['email']
password = form.cleaned_data['password']
sex = form.cleaned_data['sex']
geographie = form.cleaned_data['country']
town = form.cleaned_data['town']
form_d.save()
return HttpResponseRedirect('success')
else:
form_d = Eleve()
return render_to_response('account.html', {'form_d' : form_d})
Hors ligne
ok merci voici le code de ma vue
from django.http import HttpResponse
from django.shortcuts import render_to_response, redirect
from django import forms
from models import Eleve
def index(request):
return render_to_response('index.html')
class Eleve(forms.ModelForm):
class Meta:
model = Eleve
widgets = {
'password': forms.PasswordInput(),
}
def clean_password(self):
password = self.cleaned_data['password']
length = len(password)
if length < 8:
raise forms.ValidationError("Password has to be at least 8 characters long.")
return password
def account(request):
if request.method == 'POST':
form_d = Eleve(request.POST)
if form_d.is_valid():
username = form.cleaned_data['username']
lastname = form.cleaned_data['firstname']
firstname = form.cleaned_data['firstname']
email = form.cleaned_data['email']
password = form.cleaned_data['password']
sex = form.cleaned_data['sex']
geographie = form.cleaned_data['country']
town = form.cleaned_data['town']
form_d.save()
return HttpResponseRedirect('success')
else:
form_d = Eleve()
return render_to_response('account.html', {'form_d' : form_d})
l'enregistrement des données ne se fait pas dans la base de donnée
Hors ligne
cè reglé
merci
Hors ligne