Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- USERNAME_FIELD = 'email'
- REQUIRED_FIELDS = ['username']
- User._meta.get_field('email')._unique = True
- USERNAME_FIELD = 'email'
- def registration(request):
- if request.method == 'POST':
- user = User()
- company = Company()
- form = RegistrationForm(request.POST)
- if form.is_valid():
- user.first_name = form.cleaned_data['first_name']
- user.last_name = form.cleaned_data['last_name']
- user.email = form.cleaned_data['email']
- user.username = form.cleaned_data['email']
- user.password = form.cleaned_data['password']
- user.role = 'boss'
- company.name = user.last_name + " " + user.first_name
- company.creator = user.first_name + " " + user.last_name
- company.save()
- user.company = company
- user.save()
- return redirect('/good_luck/')
- else:
- form = RegistrationForm()
- return render(request, 'registration.html', {'form': form})
- class RegistrationForm(Form):
- first_name = CharField(label='Имя', max_length=130, required=True)
- last_name = CharField(label='Фамилия', max_length=130, required=True)
- email = EmailField(label='Почта', max_length='130', required=True)
- password = CharField(label='Пароль', required=True)
- class EmailAuthBackend(object):
- @staticmethod
- def authenticate(email=None, password=None):
- try:
- user = User.objects.get(email=email)
- except User.DoesNotExist:
- return None
- if not user.check_password(password):
- return None
- return user
- @staticmethod
- def get_user(user_id):
- try:
- return User.objects.get(pk=user_id)
- except User.DoesNotExist:
- return None
- AUTHENTICATION_BACKENDS = [
- 'путь_к_модулю.EmailAuthBackend'
- ]
- from django.contrib.auth import login, authenticate
- from django.http.response import HttpResponse
- user = authenticate(email=email,password=password)
- if user is None:
- # Пользователь с таким имейлом и паролем не найден.
- # Если всё хорошо, логиним пользователя
- login(request, user)
- return HttpResponse(status=200)
Add Comment
Please, Sign In to add comment