Есть такая страница. Там есть форма для отправки сообщения на email.
Вот мой код секции: с формой
<section id="contact"> <div class="container"> <div class="row"> <div class="col-lg-12 text-center"> <h2>Contact Me</h2> <hr class="star-primary"> </div> </div> <div class="row"> <div class="col-lg-8 col-lg-offset-2"> <form role="form" method="post" action=".">{% csrf_token %} <div class="row"> <div class="form-group col-xs-12 floating-label-form-group"> <label for="name">Name</label> <input class="form-control" type="text" name="name" placeholder="Name"> </div> </div> <div class="row"> <div class="form-group col-xs-12 floating-label-form-group"> <label for="email">Email Address</label> <input class="form-control" type="email" name="email" placeholder="Email Address"> </div> </div> <div class="row"> <div class="form-group col-xs-12 floating-label-form-group"> <label for="message">Message</label> <textarea placeholder="Message" class="form-control" rows="5"></textarea> </div> </div> <br> <div class="row"> <div class="form-group col-xs-12"> <button type="submit" class="btn btn-lg btn-success" value="Submit" />Send</button> </div> </div> </form> </div> </div> </div> </section>
В models.py:
class ContactForm(forms.Form): name = forms.CharField() subject = forms.CharField(max_length=100) sender = forms.EmailField() message = forms.CharField()
def contact(request): subject = request.POST.get('subject', '') message = request.POST.get('message', '') sender = request.POST.get('sender', '') if request.method == 'POST': form = ContactForm(request.POST) try: send_mail(subject, message, sender, ['kozlovsky.a.a@gmail.com']) except BadHeaderError: return HttpResponse('Invalid header found.') else: form = ContactForm() return render(request, 'index.html', {'form':form,})
В settings.py:
MAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' # Optional SMTP authentication information for EMAIL_HOST. EMAIL_HOST = 'smtp.gmail.com' EMAIL_HOST_USER ='myemail@gmail.com' EMAIL_HOST_PASSWORD = 'password' EMAIL_PORT = 587 EMAIL_USE_TLS = True
Страница лежит в дирректории mysite/blog/templates/index.html