Bonjour,

J'ai des soucis pour afficher les erreurs liées à mon formulaire. J'ai du louper quelque chose dans ma compréhension des formulaires.

Voici ma vue :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
def connexion(request):
    if request.user.is_authenticated():
        return HttpResponseRedirect('')
    if request.method == 'POST':
        form = ConnectMembreForm(request.POST)
        if form.is_valid():
            utilisateur = form.save()
            password = request.POST['passwordee']
            util = authenticate(username=utilisateur.username, password=password)
            if util.is_active:
                login(request, util)
                return HttpResponseRedirect('')
        else:
            return HttpResponseRedirect('')
    else:
        form = ConnectMembreForm()
    return render_to_response('connexion.html', {'form' : form}, context_instance = RequestContext(request))
Mon formulaire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
class ConnectMembreForm(forms.Form):
    email = forms.EmailField(label = 'Adresse E-mail', max_length = 50, error_messages={'required': u'Vous devez entrer un e-mail'},)
    passwordee = forms.CharField(label = 'Mot de passe', max_length = 50, widget = forms.PasswordInput(render_value=False), error_messages={'required': u'Vous devez entrer mot de passe'},)     
 
    def clean(self):
        cleaned_data = self.cleaned_data #super(ConnectMembreForm, self).clean()
        email = cleaned_data.get("email")
        password = cleaned_data.get("passwordee")
        if email and password:
            try:
                result = User.objects.get(email = self.cleaned_data['email'])
                if result.check_password(password):
                    pass
                else:
                    raise forms.ValidationError(u"Cet utilisateur ou ce mot de passe ne correspondent pas")
            except User.DoesNotExist:
                raise forms.ValidationError(u"Cet utilisateur ou ce mot de passe ne correspondent pas")        
        else:
            raise forms.ValidationError(u"Cet utilisateur ou ce mot de passe ne correspondent pas")
        return cleaned_data
 
    def save(self):
        user = User.objects.get(email = self.cleaned_data['email'])
        return user
Voici mon template:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
<! DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Connexion</title>
</head>
 
<body>
{% if messages %}
<ul class="messages">
    {% for message in messages %}
    <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
    {% endfor %}
</ul>
{% endif %}
<form id="connexion" action = "." method="post" class="form_connexion" >{% csrf_token %}
<dl>
<dt>{{ form.email.label_tag }}</dt>
<dd>{{ form.email }}</dd>
<dd>{{ form.email.errors}}</dd>
</dl>
<dl>
<dt>{{ form.passwordee.label_tag }}</dt>
<dd>{{ form.passwordee }}</dd>
<dd>{{ form.passwordee.errors }}</dd>
</dl>
 
<div class = "break">
    <input type="submit" Value="Connexion">
</div>
</form>
</body>
</html>
Voila si quelqu'un a des idées merci