我已經閱讀了關於表單數據沒有保存的其他帖子,但似乎無法查明我自己的問題。有一種感覺,它是我真正想念的東西。非常感謝幫助,謝謝。ModelForm數據沒有保存django
#model
class AboutMe(models.Model):
title = models.CharField(max_length=30)
user = models.ForeignKey(User)
post = models.TextField()
created = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
return self.title
#form
class AboutMeForm(forms.ModelForm):
class Meta:
model = AboutMe
fields = ['title', 'post']
#view
def post_line(request):
if request.method == 'POST':
form = AboutMeForm(request.POST)
if form.is_valid():
new_about = form.save(commit=False)
new_about.user = request.user
new_about.save()
return HttpResponseRedirect('index.html')
else:
form = AboutMeForm()
return render_to_response('post_line.html', locals(), context_instance=RequestContext(request))
#template:
<div class="post_line">
<form enctype="multipart/form-data" action='.' method="post">{% csrf_token %}
{{ form.as_table }}
<input type="submit" name="submit" value="post" />
</form>
</div>
在你看來會發生什麼,如果POST數據無效?看起來沒有返回錯誤的表單。您應該嘗試調試您的視圖。 – Jingo
謝謝京諾!如果POST表單無效,它在視圖中添加了一個else後就可以工作了。我不明白爲什麼會允許表單保存?我的意思是,如果數據最初是有效的,即使沒有else語句,它也應該保存嗎? – Jonathan
我不確定我是否以正確的方式瞭解您,但您不應保存無效數據。清潔數據附加到表單中,您可以檢查,如果您再次閱讀在線文檔中有關表單的章節,可能會對您有所幫助...... :) – Jingo