我正在尝试获取表单以将响应保存到数据库,但是当我尝试通过admin部分进行检查时,没有在数据库中创建新条目。当我按下下一步按钮时,页面将按预期方式重新加载,并且没有错误弹出。我删除了db.sqlite3文件,然后重新运行了迁移,但它似乎仍然无法正常工作。其他形式将数据保存到数据库。问题仅在于此表格。
你能告诉我应该做些什么改变吗?
预先感谢
views.py
def qone(request):
if request.method == "GET":
global starttime
starttime = my_timer()
form.save()
elif request.method == "POST":
form = Question1Form(request.POST)
if form.is_valid():
global endtime
endtime = my_timer()
global timespent1
timespent1 = "{0} seconds".format(endtime - starttime)
form.save(commit=True)
else:
form = Question1Form()
form = Question1Form()
return render(request,'question1.html',{'form':form})
models.py
class Responses(models.Model):
question1 = models.TextField()
question2 = models.TextField()
question3 = models.TextField()
timespent1 = models.TimeField(null=False)
forms.py
class Question1Form(forms.ModelForm):
question1 = forms.CharField()
timespent1 = forms.TimeField(widget=forms.HiddenInput())
class Meta:
model = Responses
fields = ('question1','timespent1')
html
{% extends 'base.html' %}
{% block content %}
{% load staticfiles %}
<div class="container">
<form method="POST">
{% csrf_token %}
{{form.as_p}}
<input type="Submit" name="" value="Next">
</form>
</div>
{%endblock%}
答案 0 :(得分:0)
错误不会出现,因为您在渲染之前重新定义了表单。不要那样做删除倒数第二行。