Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.88 KB | None | 0 0
  1. def contact(request):
  2. form_class = ContactForm
  3.  
  4. # new logic!
  5. if request.method == 'POST':
  6. form = form_class(data=request.POST)
  7.  
  8. if form.is_valid():
  9.  
  10. recaptcha_response = request.POST.get('g-recaptcha-response')
  11. url = 'https://www.google.com/recaptcha/api/siteverify'
  12. payload = {
  13. 'secret': settings.GOOGLE_RECAPTCHA_SECRET_KEY,
  14. 'response': recaptcha_response
  15. }
  16. data = urllib.parse.urlencode(payload).encode()
  17. req = urllib.request.Request(url, data=data)
  18.  
  19. response = urllib.request.urlopen(req)
  20. result = json.loads(response.read().decode())
  21.  
  22. if (not result['success']) or (not result['action'] == 'signup'):
  23. messages.error(request, 'Invalid reCAPTCHA. Please try again.')
  24.  
  25. contact_name = request.POST.get(
  26. 'contact_name'
  27. , '')
  28. contact_email = request.POST.get(
  29. 'contact_email'
  30. , '')
  31. form_content = request.POST.get('content', '')
  32.  
  33. # Email the profile with the
  34. # contact information
  35. template = get_template('contact_template.txt')
  36. context = {
  37. 'contact_name': contact_name,
  38. 'contact_email': contact_email,
  39. 'form_content': form_content,
  40. }
  41. content = template.render(context)
  42.  
  43. email = EmailMessage(
  44. "New contact form submission",
  45. content,
  46. "Your website" +'',
  47. ['some1ataplace@gmail.com'],
  48. headers = {'Reply-To': contact_email }
  49. )
  50. email.send()
  51. messages.info(request, "Success")
  52.  
  53. return render(request, 'contact.html', {
  54. 'form': form_class,
  55. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement