Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # coding: utf-8
- from django.shortcuts import render, redirect
- from django.contrib.auth import authenticate, logout, login
- from django.contrib.auth.models import User
- from profiles.models import Profile
- import random
- def profile(request):
- if request.user.is_authenticated():
- message = ''
- return render(request, 'profile.html', {'message': message})
- return redirect('login')
- def user_login(request):
- if 'name' in request.GET:
- user = authenticate(username=request.GET['name'], password=request.GET['password'])
- if user is not None:
- login(request, user)
- return redirect('home')
- else:
- message = 'Ошибка при вводе данных'
- return render(request, 'login.html', {'message': message})
- message = ''
- return render(request, 'login.html', {'message': message})
- def user_logout(request):
- logout(request)
- return redirect('login')
- # почти дописанная функция обновление анных пользователя
- def update_profile(request):
- message = 'Данные обновлены'
- update = Profile.objects.get(user=request.user.id)
- update.first_name = request.GET['first_name']
- update.last_name = request.GET['last_name']
- # это пока не знаю как работает, но думаю как то сложно
- # update.avatar = request.GET['avatar']
- update.email = request.GET['email']
- # Изменение паролья, по какойто неведомой хуйне, не работает. Точнее после смены пароля, не авторизируется
- if request.GET['pass'] != '':
- pass_chec = authenticate(username=request.user.username, password=request.GET['pass'])
- if pass_chec is not None:
- if request.GET['pass1'] == request.GET['pass2']:
- p = User.objects.get(username=request.user.username)
- p.set_password = request.GET['pass1']
- p.save()
- message = 'Данные обновлены'
- else:
- message = 'Пароли не совпадают'
- else:
- message = 'Введен не верный пароль'
- update.save()
- return render(request, 'profile.html', {'message': message})
- def registration(request):
- # Здесь нужно добавить проверку уже существующего пользователя и сделать адекватную проверку пароля
- if 'name' in request.GET and request.GET['pass1'] == request.GET['pass2'] and request.GET['pass1'] != '':
- new_user = User.objects.create_user(
- request.GET['name'],
- ' ',
- request.GET['pass1'],
- )
- new_user.save()
- max_try = 100
- not_unique_account = True
- while not_unique_account:
- account_gen = 1000 + random.randint(100, 999)
- if max_try == 0:
- # Send email to admin
- break
- if Profile.objects.filter(account=account_gen).count() == 0:
- not_unique_account = False
- max_try -= 1
- Profile.objects.create(
- user_id=new_user.id,
- account=account_gen,
- balance=0,
- avatar='media/image/uploads_avatar/user.jpg',
- )
- auth_user = authenticate(username=request.GET['name'], password=request.GET['pass1'])
- login(request, auth_user)
- return redirect('profile')
- # Сюда нужно генерировать ошибку (пользователь уже есть, пароли не совпадают и т.д.)
- message = ''
- return render(request, 'registration.html', {'message': message})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement