python - Django 联系表
问题描述
我使用 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, ['va.glazing@gmail.com'],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'
这是电子邮件通过后我得到的结果图像。
解决方案
尝试将 a 添加'subject': forms.TextInput(attrs={'': ''})
到您的widgets
dict 中,类似于您的表单。他们似乎正在发生碰撞。
推荐阅读
- git - 使用 SSH 连接到 GitHub 到不在我帐户中的项目
- visual-studio - VS Code 中的 XML 文档注释?
- r - 使用 R CMD SHLIB 编译 F77 以在 R 包中使用。更改 `-fmax-stack-var-size=`
- java - 如何将使用来自多个信息类的属性的对象添加到主程序中的数组列表中?
- zoom-sdk - Zoomgov API 调用 vs Zoom?
- python - 为什么这个回调会无限期地运行?
- networking - Digital Ocean 上的浮动 IP 使用情况
- python - 是否有 Python VPN API/GUI 来启动/停止 VPN 客户端?
- firebase - Firestore:从 Firebase 通过 id 查找元素
- mysql - 比较两个表并找到缺失的行