我没有收到任何错误,一切似乎都很好,但我的表格中的字段不会显示。
我的表格:
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'),
]
对于'联系'应用,我还没有配置任何网址 - 这会是错的吗?我以为我可以简单地为“联系”应用创建视图/表单(如原始帖子中所示),并将表单放入我的模板中。