【发布时间】:2012-06-19 18:45:21
【问题描述】:
我是网络开发的真正初学者。以下代码在 is_valid() 检查中失败。但我不明白为什么:表单是否应该从 POST 数据中获取数据?
型号:
class Statement(models.Model):
text = models.CharField(max_length=255)
user = models.ForeignKey(User)
time = models.DateField()
views = models.IntegerField()
模型形式:
class StatementForm(ModelForm):
class Meta:
model = Statement
widgets = {
'time':forms.HiddenInput(),
'user':forms.HiddenInput(),
'views':forms.HiddenInput(),
}
查看功能:
def new(request):
if request.method == 'POST': # If the form has been submitted...
form = StatementForm(request.POST) # A form bound to the POST data
if form.is_valid():
stmt = form.save()
path = 'stmt/' + stmt.id
return render_to_response(path, {'stmt': stmt})
else:
c = {}
c.update(csrf(request))
loggedin_user = request.user
d = datetime.now()
form = StatementForm(request.POST, initial={'time': d.strftime("%Y-%m-%d %H:%M:%S"), 'user':loggedin_user, 'views':0})
return render_to_response('new_stmt.html', {'form': form, },context_instance=RequestContext(request))
我找到了类似的主题并尝试了很多。这就是我认为它应该工作的方式。我真的需要建议。
【问题讨论】:
-
转到您之前提出的问题并接受特定问题的最佳答案(如果这些是一个)。您可以通过在答案旁边打勾来做到这一点。