Django表单没有显示,只有按钮(新)

时间:2017-09-05 15:28:59

标签: python django django-forms django-templates django-views

当我尝试传递表单时,只有我的提交按钮弹出。 我甚至尝试过从Django网站复制代码......但仍然不适用于我。

这是我的forms.py

from django import forms

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

这是我的views.py

from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render
from .forms import contactForm

def contact(request):
    form = contactForm(request.POST or None)

    if form.is_valid():
       print(request.POST)
    context = locals()

    return render(request, 'contact/contact.html', context)

def index(request):
    return render(request, 'contact/contact.html')

这是我的contact.html

{% extends "contact/base.html" %}
{% block content %}

<h1>Contact</h1>

<form method='POST' acion=''> {% csrf_token %}
{{ form.as_p }}
<input type='submit' value='submit form'/>
</form>

{% endblock %}

我真的不知道这段代码有什么问题...请帮忙!谢谢 ps:我是python的新手,也许我需要另一个版本?

1 个答案:

答案 0 :(得分:4)

您有两个视图呈现相同的模板。其中一个contact将表单传递给模板。另一个,index没有,所以在上下文中没有任何名为form的结果,结果将是空白的。