Guest User

pastebin

a guest
Jul 27th, 2017
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.49 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. from __future__ import unicode_literals
  3. from django.shortcuts import render,redirect
  4. from demoapp.forms import SignUpForm,LoginForm,PostForm
  5. from django.contrib.auth.hashers import make_password,check_password # make_password is used to encrypt the pswrd
  6. from demoapp.models import UserModel,SessionToken
  7.  
  8.  
  9. # Create your views here.
  10. def post_view(request):
  11. user = check_validation(request)
  12. if user:
  13. if request.method == 'GET':
  14. post_form = PostForm()
  15. return render(request,'post.html',{'post_form':post_form})
  16. else:
  17. return redirect('/login/')
  18.  
  19. elif request.method == 'POST':
  20. post_form = PostForm(request.POST, request.FILES)
  21. if post_form.is_valid():
  22. image = post_form.cleaned_data.get('image')
  23. caption = post_form.cleaned_data.get('caption')
  24.  
  25.  
  26. def feed_view(request):
  27. if request.method == 'GET':
  28. return render(request,'feed.html')
  29.  
  30.  
  31. def signup_view(request):
  32. if request.method == 'GET':
  33. signup_form = SignUpForm() # calling & display signup form
  34. template_name = 'signup.html' # rendering to signup.html after get reqst
  35.  
  36. elif request.method == 'POST':
  37. signup_form = SignUpForm(request.POST) # calling & process the form data
  38. if signup_form.is_valid(): # validate the form data
  39. username = signup_form.cleaned_data['username']
  40. name = signup_form.cleaned_data['name']
  41. email = signup_form.cleaned_data['email']
  42. password = signup_form.cleaned_data['password']
  43. new_user = UserModel(name=name, email=email, password=make_password(password), username=username)
  44. new_user.save() # save data to db
  45. template_name = 'success.html' # rendering to success.html after post req
  46. return render(request,template_name, {'signup_form': signup_form})
  47.  
  48.  
  49. def login_view(request):
  50. if request.method == 'GET': #display login form
  51. login_form = LoginForm()
  52. template_name = 'login.html'
  53.  
  54. elif request.method == 'POST': # process the form data
  55. login_form = LoginForm(request.POST)
  56. if login_form.is_valid(): # validation sucessful
  57. username = login_form.cleaned_data['username']
  58. password = login_form.cleaned_data['password'] # read data from db
  59. user = UserModel.objects.filter(username=username).filter().first()
  60. if user:
  61. if check_password(password,user.password): # compare the password
  62. #login sucessful
  63. token = SessionToken(user=user)
  64. token.create_token()
  65. token.save()
  66. response = redirect('/feed/')
  67. response.set_cookie(key='session_token',value=token.session_token)
  68. return response
  69. else:
  70. #login failed
  71. template_name='login_fail.html'
  72. else:
  73. #user does not exist in db
  74. template_name = 'login_fail.html'
  75. else:
  76. # validation failed
  77. template_name='login_fail.html'
  78. return render(request,template_name,{'login_form':login_form})
Add Comment
Please, Sign In to add comment