Advertisement
Guest User

Untitled

a guest
Mar 20th, 2016
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.73 KB | None | 0 0
  1. # coding: utf-8
  2. from django.shortcuts import render, redirect
  3. from django.contrib.auth import authenticate, logout, login
  4. from django.contrib.auth.models import User
  5. from profiles.models import Profile
  6. import random
  7.  
  8.  
  9. def profile(request):
  10. if request.user.is_authenticated():
  11. message = ''
  12. return render(request, 'profile.html', {'message': message})
  13. return redirect('login')
  14.  
  15.  
  16. def user_login(request):
  17. if 'name' in request.GET:
  18. user = authenticate(username=request.GET['name'], password=request.GET['password'])
  19. if user is not None:
  20. login(request, user)
  21. return redirect('home')
  22. else:
  23. message = 'Ошибка при вводе данных'
  24. return render(request, 'login.html', {'message': message})
  25. message = ''
  26. return render(request, 'login.html', {'message': message})
  27.  
  28.  
  29. def user_logout(request):
  30. logout(request)
  31. return redirect('login')
  32.  
  33.  
  34. # почти дописанная функция обновление анных пользователя
  35. def update_profile(request):
  36. message = 'Данные обновлены'
  37. update = Profile.objects.get(user=request.user.id)
  38. update.first_name = request.GET['first_name']
  39. update.last_name = request.GET['last_name']
  40. # это пока не знаю как работает, но думаю как то сложно
  41. # update.avatar = request.GET['avatar']
  42. update.email = request.GET['email']
  43. # Изменение паролья, по какойто неведомой хуйне, не работает. Точнее после смены пароля, не авторизируется
  44. if request.GET['pass'] != '':
  45. pass_chec = authenticate(username=request.user.username, password=request.GET['pass'])
  46. if pass_chec is not None:
  47. if request.GET['pass1'] == request.GET['pass2']:
  48. p = User.objects.get(username=request.user.username)
  49. p.set_password = request.GET['pass1']
  50. p.save()
  51. message = 'Данные обновлены'
  52. else:
  53. message = 'Пароли не совпадают'
  54. else:
  55. message = 'Введен не верный пароль'
  56. update.save()
  57. return render(request, 'profile.html', {'message': message})
  58.  
  59.  
  60. def registration(request):
  61. # Здесь нужно добавить проверку уже существующего пользователя и сделать адекватную проверку пароля
  62. if 'name' in request.GET and request.GET['pass1'] == request.GET['pass2'] and request.GET['pass1'] != '':
  63. new_user = User.objects.create_user(
  64. request.GET['name'],
  65. ' ',
  66. request.GET['pass1'],
  67. )
  68. new_user.save()
  69. max_try = 100
  70. not_unique_account = True
  71. while not_unique_account:
  72. account_gen = 1000 + random.randint(100, 999)
  73. if max_try == 0:
  74. # Send email to admin
  75. break
  76. if Profile.objects.filter(account=account_gen).count() == 0:
  77. not_unique_account = False
  78. max_try -= 1
  79. Profile.objects.create(
  80. user_id=new_user.id,
  81. account=account_gen,
  82. balance=0,
  83. avatar='media/image/uploads_avatar/user.jpg',
  84. )
  85. auth_user = authenticate(username=request.GET['name'], password=request.GET['pass1'])
  86. login(request, auth_user)
  87. return redirect('profile')
  88. # Сюда нужно генерировать ошибку (пользователь уже есть, пароли не совпадают и т.д.)
  89. message = ''
  90. return render(request, 'registration.html', {'message': message})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement