Django-fr

Forum

#1 13-12-2014 16:09:06

polycodeur
Membre
Inscription : 13-12-2014
Messages : 3

Problème formulaire

Bonjour je rencontre un problème lorsque je vais sur la page du formulaire que j'ai créer , celui ce me renvoi l'erreur suivante :

The view blog.views.contact didn't return an HttpResponse object. It returned None instead

Je comprend très bien ce qu'il veut dire mais pourquoi? voici le code de ma vue:

from django.http import HttpResponse, Http404
from django.shortcuts import render, redirect, get_object_or_404
 
from blog.forms import ContactForm
 
def contact(request):
    if request.method == 'POST': #s'il s'agit d'une requête POST
        form = ContactForm(request.POST) #Nous reprenons les données
 
        if form.is_valid(): #Nous verifions que les données sont valides
 
            # Ici nous pouvons traiter les données du formulaire
            sujet = form.cleaned_data['sujet']
            message = form.cleaned_data['message']
            envoyeur = form.cleaned_data['envoyeur']
            renvoi = form.cleaned_data['renvoi']
 
            # Nous pourrions ici envoyer l'email grâce aux données que nous venons de récuperer
 
            envoi = True
 
        else: #Si ce n'est pas du POST, c'est probablement une requête GET
            form = ContactForm() # Nous créons un formulaire vide
 
        return render(request, 'blog/contact.html', locals())

J'utilise django 1.8 en passant . merci de vos réponse .

Hors ligne

#2 13-12-2014 16:10:32

polycodeur
Membre
Inscription : 13-12-2014
Messages : 3

Re : Problème formulaire

Et lorsque j'enlève le "if request.method == 'POST':" je peux aller sur le formulaire , mais d'après le tutoriel je dois l'utiliser .

Hors ligne

#3 15-12-2014 00:03:21

polycodeur
Membre
Inscription : 13-12-2014
Messages : 3

Re : Problème formulaire

résolue mon erreur venait de l'indentation supplémentaire de mon else , en effet j'aurai du l'aligner avec if request.method =='POST'

Hors ligne

Pied de page des forums