python - 我的联系表格在 django 中无法正常工作?
问题描述
这是一个随机用户可以填写联系表格并向管理员发送消息的应用程序。此代码未向我的电子邮件地址发送电子邮件。
Error: TimeoutError at /shop/contact/ [WinError 10060] 连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应
模型.py
class Contact(models.Model):
name = models.CharField(max_length=50)
email = models.EmailField()
phone = models.CharField(max_length=15)
subject = models.CharField(max_length=100)
message = models.TextField()
def __str__(self):
return self.subject
视图.py
def contact(request):
if request.method == "POST":
form = ContactForm(request.POST)
if form.is_valid():
subject = form.cleaned_data['subject']
message = form.cleaned_data['message']
email = form.cleaned_data['email']
#subject = form['subject'].value() tried this also
#message = form['message'].value()
#email = form['email'].value()
recipients = [settings.EMAIL_HOST_USER]
send_mail(subject, message, email, recipients,fail_silently=False)
form.save()
messages.success(request,'Message Sent.')
return redirect('shop:contact')
else:
messages.error(request,'Error in Form')
else:
form = ContactForm()
return render(request,'shop/contact.html',{'form':form})
表格.py
class ContactForm(forms.ModelForm):
class Meta:
model = Contact
fields = ['name','phone','email','subject','message']
联系人.html
{% extends "shop/base.html" %}
{% load bootstrap4 %}
<title>{% block title %}Contact{% endblock %}</title>
{% block content %}
<center>{% bootstrap_messages %}</center>
<div class="container">
<div class="row">
<div class="col-lg-4 offset-lg-4 col-sm-10 offset-sm-1">
<div class="card my-5">
<div class="card-header text-center">
Contact
</div>
<div class="card-body">
<form action="" method="post">
{% csrf_token %}
{% bootstrap_form form %}
<input type="submit" class="btn btn-success text-center w-100 mb-3" value="Contact">
</form>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
设置.py
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'myemailaddress'
EMAIL_HOST_PASSWORD = 'mypassword'
EMAIL_POST = '587'
解决方案
推荐阅读
- python - sqlalchemy 过滤少数具有不同数据类型的列
- c# - Selenium:从电子邮件文本字段/文本框中获取字符串
- java - 如何修改现有的jar文件?
- c++ - 如何动态优化多字段比较中的字段顺序
- cron - crontab 没有删除文件夹中的文件
- sql - 在 SQL Server 2012 中使用 SP_AddRole 添加角色时,数据库中已有一个名为“Test”的对象
- powershell - 使用 powershell 更新重复数组的字段值
- c# - SKCanvas 中的高效线条绘制
- ssh - ssh-copy-id rootname@ipaddress 的问题
- angular - 在角度我想根据路由器链接显示/隐藏某些元素?