【发布时间】:2023-03-06 18:33:01
【问题描述】:
我在模板中使用 django 表单来保存输入到数据库的数据。 在我看来,请求发出后,响应被正确重定向,但数据没有保存到数据库中。
我可能遗漏了什么。但即使经过大量调试也无法找到它。
这是迄今为止所做的:
views.py:
from .models import testmodel
def testview(request):
if request.method== 'POST':
form=MapForm(request.POST)
if form.is_valid():
test1=request.POST.get('t1')
print meaningid1
test2=request.POST.get('t2')
print meaningid2
pobj=testmodel(test1=test1,test2=test2)
pobj.save()
return HttpResponse('Successful')
在此之后会看到响应消息“成功”
来自模板:
<form action="/testview/" method="post"> {% csrf_token %}
{{form.as_p}}
<input type="text" name="t1" value='' id='t1'/> <br><br><br>
<input type="text" name="t2" value='' id='t2'/><br>
<input type="submit" value="Submit" />
</form>
来自forms.py:
from .models import testmodel
class MapForm(forms.ModelForm):
class Meta:
model = testmodel
fields = ['test1','test2']
在表格中输入数据后,它将进入页面/testview并在页面上显示消息。但来自后端的数据没有保存到数据库。 有人可以建议可以做什么
谢谢
【问题讨论】:
-
投反对票,因为您还没有发布您的真实代码。 mapobj.save() 在你定义它之前被调用
-
编辑了代码
-
您确定您的表格有效吗?由于您的缩进,在任何一种情况下都会显示成功
标签: python django database templates