此代码将联系人信息保存在管理面板中。现在,我想回复这些联系人。管理员如何通过默认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/

10-12 17:40
查看更多