Advertisement
Guest User

Untitled

a guest
Mar 1st, 2019
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.05 KB | None | 0 0
  1. from django.shortcuts import redirect, render
  2. from django.http import HttpResponse
  3. from .models import Tutorial
  4. from django.contrib.auth.forms import AuthenticationForm
  5. from django.contrib.auth import login, logout, authenticate
  6. from django.contrib import messages
  7. from .forms import NewUserForm
  8.  
  9.  
  10. # Create your views here.
  11.  
  12. def homepage(request):
  13.     return render(request=request, template_name='main/home.html',
  14.                   context={"tutorials":Tutorial.objects.all})
  15.  
  16. def register(request):
  17.     if request.method == "POST":
  18.         form = NewUserForm(request.POST)
  19.         if form.is_valid():
  20.             user = form.save()
  21.             username = form.cleaned_data.get('username')
  22.             messages.success(request, f"New account has successfully created: {username}")
  23.             login(request, user)
  24.             messages.info(request, f"You are now logged in as {username}")
  25.             return redirect("main:homepage")
  26.         else:
  27.             for msg in form.error_messages:
  28.                 messages.error(request, f"{msg}: form.error_messages[msg]")
  29.  
  30.             return render(request=request, template_name='main/register.html',
  31.                   context={"form":form})
  32.  
  33.     form=NewUserForm
  34.     return render(request=request, template_name='main/register.html',
  35.                   context={"form":form})
  36.  
  37. def logout_request(request):
  38.     logout(request)
  39.     messages.info(request, "Logged out successfully !!!")
  40.     return redirect("main:homepage")
  41.  
  42. def login_request(request):
  43.     if request.method == "POST":
  44.         form = AuthenticationForm(request, data=request.POST)
  45.         if form.is_valid():
  46.             username = form.cleaned_data.get('username')
  47.             password = form.cleaned_data.get('password')
  48.             user = authenticate(username=username, password=password)
  49.  
  50.             if user is not None:
  51.                 login(request, user)
  52.                 messages.info(request, f"You are now logged in as {username}")
  53.                 return redirect('/')
  54.             else:
  55.                 messages.error(request, "Invalid username or password ")
  56.            
  57.         else:
  58.             messages.error(request, "Invalid username or password ")
  59.  
  60.     form = AuthenticationForm
  61.     return render(request=request, template_name='main/login.html',
  62.                   context={"form":form})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement