为什么我的Django表单字段没有在模板中呈现?

时间:2016-12-08 18:54:41

标签: python django django-forms

我没有收到任何错误,一切似乎都很好,但我的表格中的字段不会显示。

我的表格:

from django import forms  

class ContactForm(forms.Form):  
    name = forms.CharField(required=False, max_length=100, help_text='100 characters max')
    email = forms.EmailField(required=True)
    comment = forms.CharField(required=True, widget=forms.Textarea)  

我的观点:

from .forms import ContactForm

def contact(request):
    form = ContactForm(request.POST or None)
    if form.is_valid():
        print(request.POST)

    context = {'form': form}
    return render(request, 'contact.html', context)  

contact.html模板:

<form method="POST" action=""> {% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" class="btn btn-default" />
</form>  

base.html模板:

{% block content %}
{% endblock content %}

{% include "contact.html" %}
</div>  

我错过了什么?容纳表单的模板未被任何块标记包围,因为模板正在{%include [d]%}进入我的base.html。

其他详细信息:表单和视图位于各自的“联系”应用中,我没有为联系人应用配置任何网址,因为我计划将模板简单地包含在base.html

编辑 - 添加网址配置:

项目的主要urls.py:

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^', include("projects.urls", namespace='projects')),
]  

我的'项目'应用的urls.py:

urlpatterns = [
    url(r'^$', projects_home, name='home'),
    url(r'^(?P<slug>[\w-]+)/$', project_detail, name='detail'),
]  

对于'联系'应用,我还没有配置任何网址 - 这会是错的吗?我以为我可以简单地为“联系”应用创建视图/表单(如原始帖子中所示),并将表单放入我的模板中。

0 个答案:

没有答案