Spaces:
Sleeping
Sleeping
| from django.shortcuts import render , HttpResponse , redirect | |
| from django.contrib.auth import login as log , authenticate , logout | |
| from Accounts.models import User | |
| from django.contrib import messages | |
| # Create your views here. | |
| def login(request): | |
| if request.method == 'POST': | |
| email = request.POST.get('email') | |
| password = request.POST.get('password') | |
| user = authenticate(request, email=email, password=password) | |
| if user is not None: | |
| log(request, user) | |
| return redirect('/') | |
| else: | |
| return render(request, 'templates/login.html', {'error_message': 'Invalid email or password'}) | |
| else: | |
| return render(request, 'templates/login.html' ) | |
| def signup(request): | |
| if request.method == "POST": | |
| first_name = request.POST.get("first_name") | |
| last_name = request.POST.get("last_name") | |
| email = request.POST.get("email") | |
| password1 = request.POST.get("password1") | |
| password2 = request.POST.get("password2") | |
| # Validation | |
| if password1 != password2: | |
| messages.error(request, "Passwords do not match.") | |
| return redirect("/Accounts/signup") | |
| if User.objects.filter(email=email).exists(): | |
| messages.error(request, "Email already registered.") | |
| return redirect("/Accounts/signup") | |
| user = User.objects.create_user( | |
| email=email, | |
| first_name=first_name, | |
| last_name=last_name, | |
| password=password1, | |
| ) | |
| return redirect('/') | |
| else: | |
| return render(request, 'templates/signup.html' ) | |
| def logout_view(request): | |
| logout(request) | |
| return redirect('/') |