1

如果我沒有完成「annoinizio」或「annofine」或「stagioni」或「totepisodi」的形式,django會播放form.is_valid()並返回False。即使數據值爲空,我如何保存數據?即使表單中的值爲空,也要保存數據嗎?

型號:

class Tvserie(models.Model): 
     titolo = models.CharField(max_length = 100) 
     titolo_originale = models.CharField(max_length = 200) 

瀏覽:

class ContactForm(forms.Form): 
     titolo = forms.CharField(required=False) 
     titolo_originale = forms.CharField(required=False) 

def nuovaserie(request): 
     if request.method == 'POST': 
     form=ContactForm(request.POST) 
     if form.is_valid(): 
      titolo = request.POST.get('titolo','') 
      titolo_originale = request.POST.get('titolo_originale','') 

      cont_obj= Tvserie.objects.create(titolo = titolo, titolo_originale = titolo_originale) 
      cont_obj.save() 

      return HttpResponseRedirect('/risultatonuovaserie/') 
     else: 
     form=ContactForm() 
     return render(request , 'NuovaSerie.html', {'form': form}) 

模板:

<form action="/nuovaserie/" method="POST"> 
    <table border=1> 
    <tr> 
     <td><label>Titolo*:</label></td> 
     <td><input type="text" name="titolo" value="{{titolo}}"></td> 
     <td><label>Titolo originale*:</label></td> 
     <td><input type="text" name="titolo_originale" value="{{titolo_originale}}"></td> 
    </tr> 
    <tr>         
     <td colspan="4"><center><input type="submit" value="Invia"></center></td> 
    </tr> 
    </table> 
</form> 
+1

您的表單或模板中沒有任何這些字段。 –

+0

1.不要在views.py 上定義你的表單2.在form.is_valid()使用表單的清理數據之後,而不是直接請求 3.你能追加堆棧跟蹤嗎?我沒有看到你在任何地方提到過的字段,所以它可能是模型級別而不是表單上的問題。 – cdvv7788

回答

0

在models.py:

class Tvserie(models.Model): 
    titolo = models.CharField(max_length = 100,blank=True,null=True) 
    titolo_originale = models.CharField(max_length = 200,blank=True,null=True) 

In forms.py

class ContactForm(forms.Form): 
    titolo = forms.CharField(required=False) 
    titolo_originale = forms.CharField(required=False) 
相關問題