Spaces:
Sleeping
Sleeping
File size: 1,743 Bytes
528678f ca335ea 528678f 4b2adab |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
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('/') |