我创建使用Django发送姓名,电子邮件和消息的联系表。该表格经过成功的名称,但是受到重视只是消息的一部分到达Gmail的整个消息的来代替。我怎样才能得到完整的信息来向您展示的Gmail帐户?
from django.db import models
# Create your models here.
class Contact(models.Model):
name = models.CharField(max_length=30)
email = models.EmailField()
message = models.TextField()
def __str__(self):
return self.name
from django import forms
from django.forms import ModelForm
from .models import Contact
class ContactForm(forms.ModelForm):
class Meta:
model = Contact
fields = ('name', 'email', 'message',)
def contact(request):
mapbox_access_token = 'pk.my_mapbox_access_token'
if request.method == 'GET':
form = ContactForm()
else:
form = ContactForm(request.POST)
if form.is_valid():
sender_name = form.cleaned_data['name']
emailFrom = form.cleaned_data['email']
message = "{0} has sent you a new message:\n\n{1}".format(sender_name, form.cleaned_data['message'])
form.save()
try:
send_mail('New Enquiry', message, emailFrom, ['[email protected]'],fail_silently=False, )
except BadHeaderError:
return HttpResponse('Invalid header found')
return redirect('success')
return render(request, "contact.html",{'form': form})
#settings
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = '****.***.com'
EMAIL_HOST_PASSWORD = '******'
EMAIL_PORT = 587
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
下面是结果我得到的一次图像的电子邮件经历。
send_mail(
'Subject here',
'Here is the message.',
'[email protected]',
['[email protected]'],
fail_silently=False,
)
正如你所看到的,你在错误的地方书写消息和电子邮件。开关的地方应该解决的问题。
name
将是你的主题,email
将是从一部分,message
消息内容。
尝试添加'subject': forms.TextInput(attrs={'': ''})
您widgets
字典,以及类似的形式。他们似乎被碰撞。