【发布时间】:2020-02-09 11:28:59
【问题描述】:
模型类是:
class Product(models.Model):
name=models.CharField(max_length=120)
address=models.CharField(max_length=120)
trek=models.CharField(max_length=120)
transid=models.CharField(max_length=20 ,default="")
表单类是
class formm(forms.ModelForm):
class Meta:
model=Product
fields=('name','address','trek','transid')
#fields="__all__"
# exclude=['title']
html的表单部分是
<div class="jumbotron">
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<input class="btn btn-primary" type="submit" value="SUBMIT"/>
</form>
</div>
视图中的函数是
def book(request):
form=formm()
if request.method == 'POST':
form = formm(request.POST)
if form.is_valid():
form.save()
return redirect('/')
else:
form=formm()
return render(request, 'trek/contact.html', {'form': form})
呈现的html是:
<!DOCTYPE html>
<html lang="en">
<head>
<body>
<div class="container">
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<input class="btn btn-primary" type="submit" value="SUBMIT"/>
</form>
</div>
</body>
</head>
</html>
表单未呈现。仅显示提交按钮。 没有识别错误。
所有导入都正确完成。我以前也做过这种类型的东西,但从未发生过。
【问题讨论】:
-
这不是直接答案,因为我没有发现任何问题。但是,您应该将“formm”重命名为其他名称,这有点难以阅读。同样在您的代码中,“formm”中的“class Meta”是否缩进?因为在你的问题中它不是。
-
是的,它是缩进的
-
@Vipulsaklani:您问题中的代码没有正确缩进。
-
你能把你的
import也发到你的view吗? -
也请发布最终渲染的
html。