noe*_*emi 1 django django-forms
我正在使用HTML和django进行Web界面.我的问题是我想在网站上显示一个表单,以便用户可以填写其中一个模型的字段.虽然我已经阅读了一些有关如何操作的示例和文档,但我无法在我的网站上看到该表单.
在我的django应用程序中,我有以下模型:
class Signature(models.Model):
sig = models.ForeignKey(Device)
STATE = models.CharField(max_length=3, choices=STATE_CHOICES)
interval = models.DecimalField(max_digits=4, decimal_places=2)
Run Code Online (Sandbox Code Playgroud)
由于表单与该模型相关,我创建了这个ModelForm类:
class SignatureForm(ModelForm):
class Meta:
model = Signature
Run Code Online (Sandbox Code Playgroud)
之后,我定义了以下视图:
def SigEditor(request):
if request.method == 'POST':
form = SignatureForm(request.POST)
if signature_form.is_valid():
# Create a new Signature object.
signature_form.save()
return HttpResponseRedirect('eQL/training/form.html')
else:
form = SignatureForm()
return render_to_response('eQL/training/showImage.html',
{'signature_form' : SignatureForm })
Run Code Online (Sandbox Code Playgroud)
最后,我可以通过添加以下内容来表示我的网站中的表单:
<fieldset><legend>Device Information</legend>
<form action="" method="post">
{{ signature_form }} < br>
<input type="submit" value="Submit">
</form>
</fieldset>
Run Code Online (Sandbox Code Playgroud)
如果我打开网站,没有错误,但我没有看到表格.但是,在提交按钮之前,会出现:
< class 'eQL.models.SignatureForm' >
Run Code Online (Sandbox Code Playgroud)
谁能帮我?我是这个网络框架的新手.谢谢!!
你有2个问题:
第一个错误:根据表单方法将表单实例命名为2个名称(但如果不是因为第二个错误,则会引发异常)
第二个错误:您应该将表单实例提供给模板,
不是class():'signature_form' : SignatureForm
return render_to_response('eQL/training/showImage.html',
{'signature_form' : form})
Run Code Online (Sandbox Code Playgroud)