django form.as_p不会呈现表单

时间:2014-04-06 15:42:58

标签: python django django-forms

所以这是我的表格:

class SecretNoteForm(forms.Form):
    note = forms.Textarea()

以下是我的观点:

def index(request):
    if request.method == 'POST':
        pass
    else:
        form = SecretNoteForm()

    return render(request, "notes/index.html", {"form" : form})

和我的HTML:

{% block content %}
<form method="post">{% csrf_token %}
    {{ form.as_p }}
    <input type="submit" value="Create">
</form>
{% endblock %}

当我转到网址时,它只显示“创建”按钮但没有显示表单字段。我在这做错了什么?我似乎无法弄明白......

1 个答案:

答案 0 :(得分:2)

制作TextArea的正确方法是使用小部件:

note = forms.CharField(widget=forms.Textarea)

以下是更多文档:https://docs.djangoproject.com/en/dev/topics/forms/modelforms/

并包含以下属性:

note = forms.CharField(widget=forms.Textarea(attrs={'rows': 16,'cols': 25}))