django cbv不发送邮件
我试图发送以html底部的表单输入的邮件,但它不发送邮件,也不会给出错误 我的看法是:django cbv不发送邮件,django,django-views,django-forms,Django,Django Views,Django Forms,我试图发送以html底部的表单输入的邮件,但它不发送邮件,也不会给出错误 我的看法是: from django.conf import settings from django.shortcuts import render from django.views.generic import TemplateView from django.core.mail import send_mail class Homepage(TemplateView): template_name =
from django.conf import settings
from django.shortcuts import render
from django.views.generic import TemplateView
from django.core.mail import send_mail
class Homepage(TemplateView):
template_name = 'homepage.html'
def post(self, request, *args, **kwargs):
if request.method == 'post':
message = request.POST['message']
name = request.POST['name']
email = request.POST['email']
send_mail('contact form', message, settings.EMAIL_HOST_USER, ['******@gmail.com'], fail_silently=False)
return render(request, 'homepage.html')
我的html表单:
<form method="post" action={% url 'homepage' %}>
{% csrf_token %}
<input type="text" name="name" placeholder="Enter First Name"/><br>
<input type="email" name="email" placeholder="Enter Your Email"/><br>
<input type="textarea" name="message" placeholder="How can we help you?"/><br>
<button>Submit</button>
</form>
{%csrf_令牌%}
提交
试试这个:
class Homepage(TemplateView):
template_name = 'homepage.html'
def post(self, request, *args, **kwargs):
message = request.POST['message']
name = request.POST['name']
email = request.POST['email']
send_mail('contact form', message, settings.EMAIL_HOST_USER, ['******@gmail.com'], fail_silently=False)
return render(request, 'homepage.html')
我也会使用这样的方法:因为这更像是django的一种方式。嘿,谢谢,它现在可以工作了,但是你能帮助我如何获得邮件名和电子邮件吗?所有邮件都发到我这里。你有两种方法可以做到这一点:1)在通话后保存模型发送邮件,保存这三个字段,然后你将根据该模型进行查询。2) 阅读python的电子邮件,这篇文章将有助于: