我在用Django构建的网站上创建了一个联系表单,但是从该表单发送的电子邮件似乎并未实际发送。这是forms.py中的表单代码:
class ContactForm(forms.Form):
email = forms.EmailField(required=True)
subject = forms.CharField(required=True)
message = forms.CharField(widget=forms.Textarea,required=True)
这是我views.py中的代码:
def contact(request,success=""):
submitted = False
template_name = "main/contact.html"
if request.method == 'GET':
form = ContactForm()
else:
form = ContactForm(request.POST)
if form.is_valid():
subject = form.cleaned_data['subject']
from_email = form.cleaned_data['email']
message = form.cleaned_data['message']
try:
send_mail(subject,message,from_email,['MYEMAILHERE'])
except BadHeaderError:
return HttpResponse('Invalid header found.')
return redirect("success/")
if success != "":
submitted = True
context = {"form": form,"submitted": submitted}
return render(request,template_name,context)
最后是html代码的形式:
{% load crispy_forms_tags %}
<h1>Contact Us</h1>
<form method="post">
{% csrf_token %}
{{ form|crispy }}
<div class="form-actions">
<button type="submit" class="btn btn-primary mb-2">Send</button>
</div>
</form>
如果需要其他任何代码来帮助调试,请告诉我,我将包括在内。谢谢。