1st commit
This commit is contained in:
68
accounts/views.py
Normal file
68
accounts/views.py
Normal file
@@ -0,0 +1,68 @@
|
||||
from django.contrib.auth import authenticate, login, logout
|
||||
from django.shortcuts import render, redirect
|
||||
from django.contrib.auth.models import User
|
||||
from .forms import UserRegistrationForm
|
||||
from django.contrib import messages
|
||||
from django.http import HttpResponse
|
||||
|
||||
|
||||
def login_user(request):
|
||||
if request.method == 'POST':
|
||||
username = request.POST.get('username')
|
||||
password = request.POST.get('password')
|
||||
user = authenticate(username=username, password=password)
|
||||
|
||||
if user is not None:
|
||||
login(request, user)
|
||||
redirect_url = request.GET.get('next', 'home')
|
||||
return redirect(redirect_url)
|
||||
else:
|
||||
messages.error(request, "Username Or Password is incorrect!",
|
||||
extra_tags='alert alert-warning alert-dismissible fade show')
|
||||
|
||||
return render(request, 'accounts/login.html')
|
||||
|
||||
|
||||
def logout_user(request):
|
||||
logout(request)
|
||||
return redirect('home')
|
||||
|
||||
|
||||
def create_user(request):
|
||||
if request.method == 'POST':
|
||||
check1 = False
|
||||
check2 = False
|
||||
check3 = False
|
||||
form = UserRegistrationForm(request.POST)
|
||||
if form.is_valid():
|
||||
username = form.cleaned_data['username']
|
||||
password1 = form.cleaned_data['password1']
|
||||
password2 = form.cleaned_data['password2']
|
||||
email = form.cleaned_data['email']
|
||||
|
||||
if password1 != password2:
|
||||
check1 = True
|
||||
messages.error(request, 'Password did not match!',
|
||||
extra_tags='alert alert-warning alert-dismissible fade show')
|
||||
if User.objects.filter(username=username).exists():
|
||||
check2 = True
|
||||
messages.error(request, 'Username already exists!',
|
||||
extra_tags='alert alert-warning alert-dismissible fade show')
|
||||
if User.objects.filter(email=email).exists():
|
||||
check3 = True
|
||||
messages.error(request, 'Email already registered!',
|
||||
extra_tags='alert alert-warning alert-dismissible fade show')
|
||||
|
||||
if check1 or check2 or check3:
|
||||
messages.error(
|
||||
request, "Registration Failed!", extra_tags='alert alert-warning alert-dismissible fade show')
|
||||
return redirect('accounts:register')
|
||||
else:
|
||||
user = User.objects.create_user(
|
||||
username=username, password=password1, email=email)
|
||||
messages.success(
|
||||
request, f'Thanks for registering {user.username}.', extra_tags='alert alert-success alert-dismissible fade show')
|
||||
return redirect('accounts:login')
|
||||
else:
|
||||
form = UserRegistrationForm()
|
||||
return render(request, 'accounts/register.html', {'form': form})
|
||||
Reference in New Issue
Block a user