Advertisement
Guest User

Untitled

a guest
Dec 29th, 2018
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | None | 0 0
  1. settings.py
  2. #Contact Form Email
  3. EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend'
  4. EMAIL_USE_SSL = True
  5. EMAIL_HOST = 'cp163173.hpdns.net'
  6. EMAIL_HOST_USER = 'enquiries@oculus-media.co.uk'
  7. EMAIL_HOST_PASSWORD = 'password'
  8. EMAIL_PORT = 465
  9.  
  10. views.py
  11. from django.core.mail import send_mail, BadHeaderError
  12. from django.http import HttpResponse, HttpResponseRedirect
  13. from django.conf import settings
  14. from django.contrib import messages
  15. from .forms import ContactForm, seoSearch
  16.  
  17. def contacts(request):
  18. OrderType = request.POST.get('Package')
  19. if request.method =='GET':
  20. form = ContactForm()
  21. else:
  22. form = ContactForm(request.POST)
  23. if form.is_valid():
  24. ''' Begin reCAPTCHA validation '''
  25. recaptcha_response = request.POST.get('g-recaptcha-response')
  26. data = {
  27. 'secret': settings.GOOGLE_RECAPTCHA_SECRET_KEY,
  28. 'response': recaptcha_response
  29. }
  30. r = requests.post('https://www.google.com/recaptcha/api/siteverify', data=data)
  31. result = r.json()
  32. ''' End reCAPTCHA validation '''
  33.  
  34. if result['success']:
  35. subject = 'Web Enquiry'
  36. contactType = form.cleaned_data['contactType']
  37. contactName = form.cleaned_data['contactName']
  38. contactEmail = form.cleaned_data['contactEmail']
  39. contactPhone = form.cleaned_data['contactPhone']
  40. contactStart = form.cleaned_data['contactStart']
  41. contactBudget = form.cleaned_data['contactBudget']
  42. contactCompany = form.cleaned_data['contactCompany']
  43. contactPhone = str(contactPhone)
  44. contactBudget = str(contactBudget)
  45. contactStart = str(contactStart)
  46. formData = "Enquiry Type - " + contactType + "nContact Name - " + contactName + "nEmail Address - " + contactEmail + "nPhone - " + contactPhone + "nStart Date - " + contactStart + "nBudget - " + contactBudget + "nCompany Name - " + contactCompany
  47. try:
  48. send_mail(subject, formData, 'enquiries@oculus-media.co.uk', ['enquiries@oculus-media.co.uk'])
  49. except BadHeaderError:
  50. return HttpResponse('Invalid header found')
  51. return redirect('success')
  52. else:
  53. messages.error(request, 'Invalid reCAPTCHA, Please Try Again')
  54. return redirect('contacts')
  55. else:
  56. form = ContactForm()
  57.  
  58. return render(request, "contact-us.html", {
  59. 'OrderType' : OrderType,
  60. 'form' : form,
  61. })
  62.  
  63. contact_us.html
  64. <form method="POST">
  65. {% csrf_token %}
  66. {% for y in form %}
  67. <li class="row no-gutters g-brd-bottom g-brd-gray-light-v4 g-py-30">
  68. <div class="col-sm-6 g-mb-30 g-mb-0--sm">
  69. <h3 class="h5 mb-0">{{y.label_tag}}</h3>
  70. </div>
  71. <div class="col-sm-6">
  72. {{y}}
  73. </div>
  74. </li>
  75. {% endfor %}
  76. <div class="row justify-content-center">
  77. <div class="g-recaptcha" data-sitekey="6LcOkoUUAAAAANcu-bmkbIbMtlukvZMfKP1lml67"></div>
  78. <input type="hidden" value="{{OrderType}}"/>
  79. <input class="btn btn-block u-btn-black g-brd-primary--hover g-color-primary g-color-main--hover g-bg-main g-bg-primary--hover g-font-weight-600 g-font-size-12 text-uppercase g-px-25 g-py-13" type="submit">
  80. </input>
  81. </div>
  82. </form>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement