Guest User

otp

a guest
Oct 28th, 2020
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. from django.shortcuts import render, HttpResponseRedirect,HttpResponse, redirect
  2. from django.contrib.auth import authenticate, login, logout
  3. from django.contrib import messages
  4. from django.urls import reverse
  5. from django.contrib.auth.decorators import login_required
  6. from django.core.mail import send_mail, BadHeaderError
  7. from django.template.loader import render_to_string
  8. from django.conf import settings
  9. import random
  10. from django.contrib.auth.models import User
  11.  
  12. # Create your views here.
  13. @login_required()
  14. def home(request):
  15.  
  16. context = {}
  17. return render(request, 'login/index.html', context)
  18.  
  19. otp = 0
  20. @login_required()
  21. def otp_page(request):
  22. rno = random.randint(100000, 999999)
  23. global otp
  24. otp = str(rno)
  25. subject = 'Activate Your Account'
  26. message = render_to_string('login/otp_email.html', {
  27. 'otp': otp
  28. })
  29. sender = settings.EMAIL_HOST_USER
  30. recipients = [request.user.email]
  31. send_mail(subject, message,sender, recipients, fail_silently=True)
  32. messages.warning(request, ('you have received otp in your mail!'))
  33.  
  34.  
  35.  
  36. context = {'otp':str(otp)}
  37.  
  38. return render(request, 'login/otp_page.html', context)
  39.  
  40. def validate_otp(request):
  41. user_otp = request.POST.get("otp")
  42.  
  43. if user_otp == str(otp):
  44. return render(request, 'login/index.html')
  45. else:
  46. messages.success(request, "wrong otp")
  47. return render(request, 'login/login.html')
  48.  
  49.  
  50. def login_user(request):
  51.  
  52. context = {}
  53. return render(request, 'login/login.html', context)
  54.  
  55. def login_validate(request):
  56. if request.method == "POST":
  57. username = request.POST['username']
  58. password = request.POST['password']
  59. user = authenticate(request, username = username, password = password)
  60. if user is not None:
  61. login(request, user)
  62. return HttpResponseRedirect(reverse('otp_page'))
  63. else:
  64. messages.error(request, "bad username")
  65.  
  66. context = {}
  67. return render(request, 'login/login.html', context)
  68.  
  69. def logout_user(request):
  70.  
  71. logout(request)
  72. return redirect('login')
Add Comment
Please, Sign In to add comment