此代码将联系人信息保存在管理面板中。现在,我想回复这些联系人。管理员如何通过默认django管理员的联系表回复这些电子邮件?是否可以通过默认django管理员发送电子邮件
models.py
class Contact(models.Model):
name = models.CharField(max_length=250)
email = models.EmailField()
subject = models.CharField(max_length=250, blank=True)
message = models.TextField()
def __str__(self):
return self.name
urls.py
path('contact/', views.contact, name="contact"),
管理员
admin.site.register(Contact)
views.py
def contact(request):
if request.method == "POST":
form = ContactForm(request.POST)
if form.is_valid():
contact = form.save(commit=False)
contact.save()
messages.success(request,'Your message has been sent.')
return redirect('colleges:contact')
else:
messages.error(request,'Error in form.Try Again')
return redirect('colleges:contact')
else:
form = ContactForm()
return render(request, "colleges/contact.html",{'form':form})
表格
class ContactForm(forms.ModelForm):
class Meta:
model = Contact
fields = ['name','email','subject','message']
contact.html
{% extends "colleges/base.html" %}
{% load bootstrap4 %}
<title>{% block title %}Contact{% endblock %}</title>
{% block content %}
<br><br><br>
<div class="container">
<div class="row">
<div class="col-lg-6 offset-lg-3 col-sm-10 offset-sm-1">
<div class="card my-5">
<center>{% bootstrap_messages %}</center>
<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 %}
settings.py
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER ='my_email'
EMAIL_HOST_PASSWORD = 'my_pass'
EMAIL_POST = '587'
最佳答案
像这样:
from django.core.mail import send_mail
send_mail(
'Subject here',
'Here is the message.',
'from@example.com',
['to@example.com'],
fail_silently=False,
)
查看更多信息:https://docs.djangoproject.com/en/2.1/topics/email/
关于python - 如何从Django默认管理员向联系人回复电子邮件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55156059/