Python Django联系方式邮件发送
我在Django制作了一个名为“联系”(Bootstrap)的模式联系人表单,它100%工作,但我正忙着设置它,向我的电子邮件地址发送一封包含联系人表单内容的邮件 但是我有一个错误,说Python Django联系方式邮件发送,python,django,email,Python,Django,Email,我在Django制作了一个名为“联系”(Bootstrap)的模式联系人表单,它100%工作,但我正忙着设置它,向我的电子邮件地址发送一封包含联系人表单内容的邮件 但是我有一个错误,说 settings.EMAIL_HOST_USER NameError: name 'settings' is not defined 我在settings.py文件中添加了邮件设置,并在my views.py中进行了设置,但是我收到了这个错误,我不知道为什么 视图.py from django.http imp
settings.EMAIL_HOST_USER
NameError: name 'settings' is not defined
我在settings.py文件中添加了邮件设置,并在my views.py中进行了设置,但是我收到了这个错误,我不知道为什么
视图.py
from django.http import HttpResponse
from django.shortcuts import render
from django.views import View
from django.http import JsonResponse
from django.core.mail import send_mail, BadHeaderError
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render, redirect
from .forms import ContactForm
class MailSender():
host = settings.EMAIL_HOST_USER
def sendMail(self, formData, message, sender):
return send_mail(formData, message, self.host, sender, fail_silently = False)
class ContactMe(View):
template = "contact.html"
context = {
'form': ContactForm()
}
def get(self, request):
print("getting form")
return render(request, self.template, self.context)
def post(self, request):
form = ContactForm(request.POST)
if form.is_valid():
data = form.cleaned_data
print(data)
mailSender(ContactForm, data['message'], settings.EMAIL_HOST_USER, ['myemail@email.com'])
MailSender.sendMail()
if emailsent == True:
returnData = {
'success': True,
'message': 'Email not sent, but data received'
}
else:
returnData = {
'success': True,
'message': 'Email not sent, but data received'
}
# return JsonResponse(returnData, safe=False)
next = request.POST.get('next', '/')
return HttpResponseRedirect(next)
def post_regularDjango(self, request):
form = ContactForm(request.POST)
if form.is_valid():
data = form.cleaned_data
print(data['from_email'], data['subject'], data['subject'])
return render(request, self.template, self.context)
else:
print("form invalid")
self.context.form = form
return render(request, self.template, self.context)
settings.py文件中的电子邮件设置
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'myemail@email.com'
EMAIL_HOST_PASSWORD = 'mypassword'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
任何帮助都将不胜感激
您好,您还没有将Django导入views.py
from django.conf import settings
在视图中显示已使用的导入。py@iklinac哈哈,对不起,我忘了加那个了。我已经更新了帖子,你可以在view.py部分看到导入。这是否回答了你的问题?哈哈,现在我觉得自己很傻!我想我在测试和尝试不同的方法时不小心被移除了。