Django-fr

Forum

#1 17-06-2015 03:48:52

Alone9
Membre
Inscription : 29-08-2014
Messages : 32

Form.is_valid() retourne toujours False

Salut,

je comprends pas, pourquoi mon form retourne False. Alors que je vois les données qui sont envoyé dans l'entête POST (grâce a firebug) et qu'il n'y aucune erreur.

views.py
def test(request):
    if request.method == 'POST':
        form = RoomForm(request.POST)
        if form.is_valid():
            rooms=form.save(commit=False)
            rooms.create_by=request.user.username
            rooms.save()    
            return HttpResponse('<h1>SUCCESS</h1>')
        else:
            form = RoomForm()
            print ('FAIL')
    else:
        form = RoomForm()
    return render(request,"test.html",{'form':form})

form.py
class RoomForm(forms.ModelForm):

    class Meta:
        model=RoomsLOL
        fields= ['name','password','type',]
        exclude = ['slug', 'statut','create_by',]
form.py
class RoomForm(forms.ModelForm):

    class Meta:
        model=Rooms
        fields= ['name','password','type']
        exclude = ['slug', 'statut','create_by',]

    def save(self, commit=True):
        rooms = super(RoomForm, self).save(commit=False)
        if commit:
            rooms.save()
        return rooms
form.py
class Rooms(models.Model):

    name = models.CharField(max_length=32,unique=True)
    password = models.CharField(max_length=20, blank=True)
    type = models.CharField(max_length=20,choices=TYPE_GAME_LOL, default=CINQ)
    statut = models.CharField(max_length=15,choices=STATUT, default=0)
    create_by = models.CharField(max_length=20, blank=True)
    slug = models.SlugField(blank=True)
    
    def save(self, *args, **kwargs):
        if not self.slug:
            self.slug = slugify(self.name)
        super(RoomsLOL, self).save(*args, **kwargs)

    def __unicode__(self):
        return self.name

Hors ligne

#2 17-06-2015 12:02:21

Xavier Ordoquy
Administrateur
Lieu : Puteaux, France
Inscription : 12-10-2011
Messages : 312
Site Web

Re : Form.is_valid() retourne toujours False

Afin de savoir ce qui ne va pas, il faut que tu supprimes:

else:
            form = RoomForm()
            print ('FAIL')

de ta vue. Les champs et erreurs en cause seront alors affichées.

Hors ligne

#3 17-06-2015 19:45:39

Alone9
Membre
Inscription : 29-08-2014
Messages : 32

Re : Form.is_valid() retourne toujours False

Merci beaucoup, j'ai résolu mon bug.

Hors ligne

Pied de page des forums