producthunt/accounts/views.py
2020-03-10 09:40:19 -07:00

38 lines
1.4 KiB
Python

from django.shortcuts import render, redirect
from django.contrib.auth.models import User
from django.contrib import auth
def signup(request):
if request.method == 'POST':
if request.POST['password1'] == request.POST['password2']:
try:
User.objects.get(username=request.POST['username'])
return render(request, 'accounts/signup.html', {'error': 'username already signed up'})
except User.DoesNotExist:
user = User.objects.create_user(request.POST['username'], password=request.POST['password1'])
auth.login(request, user)
return redirect('home')
else:
return render(request, 'accounts/signup.html', {'error': 'passwords must match'})
else:
return render(request, 'accounts/signup.html')
def login(request):
if request.method == 'POST':
user = auth.authenticate(username=request.POST['username'], password=request.POST['password'])
if user is not None:
auth.login(request, user)
return redirect('home')
else:
return render(request, 'accounts/login.html', {'error': 'username or password incorrect'})
else:
return render(request, 'accounts/login.html')
def logout(request):
if request.method == 'POST':
auth.logout(request)
return redirect('home')