MistryBox / Accounts /views.py
NitinBot001's picture
Update Accounts/views.py
ca335ea verified
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('/')