Django形成缺少的字段

时间:2018-01-12 18:17:56

标签: python django forms

我正试图让一个简单的表格起作用。奇怪的是,我在这个应用程序中写的其他形式工作正常,但这个不会显示字段。谁能告诉我我错过了什么?这是文件

views.py:

def newnote(request, record_id):
if request.method == 'POST':
    form = NoteForm(request.POST)
    if form.is_valid():
        form.save()
        return HttpResponseRedirect('/tracker/all/')
else:
    form = NoteForm()
return render(request, 'tracker/noteform.html', {'form': form})

models.py

class Note(models.Model):
record = models.ForeignKey(Record, on_delete=models.CASCADE)
note_text = models.CharField('Notes', max_length=2000)
note_date = models.DateField('Date Entered')

forms.py

class NoteForm(forms.Form):
class Meta:
    model = Note
    fields = ['note_text',
              'note_date'
             ]

模板(noteform.html)

<form action="/tracker/newnote/" method="post">  
<div id="fields">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit" />
</div>
</form>

另外一点,我已经注释掉了名为“fields”的div id,以排除CSS作为问题。

1 个答案:

答案 0 :(得分:0)

您的表单基于form.Form,它对模型一无所知,不期望Meta类,并且期望所有字段都是手动声明的 - 因为您没有声明任何字段,没有将显示在模板上。

它应该继承forms.ModelForm