我在django中創建聯繫表單發送電子郵件,但表單不顯示在網頁上。我認爲這個問題可能是因爲表單對象可能從來沒有被正確地傳遞給上下文,但我不知道它出錯的地方。下面的代碼是我到目前爲止。我的表單不顯示字段,我不知道爲什麼
from .forms import *
我的視圖
def email(request):
form = ContactForm()
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid():
subject = form.cleaned_data['subject']
email = form.cleaned_data['email']
first_name = form.cleaned_data['first_name']
message = form.cleaned_data['message']
try:
send_mail(first_name + ": " + subject, message, email,
['[email protected]'])
except BadHeaderError:
return HttpResponse("Invalid Header.")
return redirect('thankyou')
return render(request, 'Index-App/contact.html', {'form': form})
我的Form類
class ContactForm(forms.Form):
subject = forms.CharField(required=True)
from_email = forms.EmailField(required=True)
first_name = forms.CharField(max_length=200, required=True)
message = forms.CharField(widget=forms.Textarea)
的url
url(r'^contact/$', views.email, name='contact'),
我的模板
{% block contact %}
<form method="POST" action="{% url 'Index-App:contact' %}">
{% csrf_token %}
{{ form }}
<input type="submit" class="btn-success" value="Send"/>
</form>
{% endblock %}
我犯了一個錯誤,第二個跟本來應該的ContactForm() – melb27