1
0
Fork 0

Basic authentication views

This commit is contained in:
Mouse Reeve 2020-01-25 15:25:19 -08:00
parent 4c4011ba75
commit a312791259
13 changed files with 322 additions and 24 deletions

View file

@ -1,11 +1,39 @@
''' application views/pages '''
from django.contrib.auth.decorators import login_required
from django.contrib.auth import authenticate, login, logout
from django.shortcuts import redirect
from django.template.response import TemplateResponse
from django.views.decorators.csrf import csrf_exempt
from fedireads.models import Shelf
@login_required
def account_page(request):
return 'hi'
def home(request):
''' user feed '''
shelves = Shelf.objects.filter(user=request.user.id)
data = {
'user': request.user,
'shelves': shelves,
}
return TemplateResponse(request, 'feed.html', data)
def webfinger(request):
return 'hello'
@csrf_exempt
def user_login(request):
''' authentication '''
# send user to the login page
if request.method == 'GET':
return TemplateResponse(request, 'login.html')
def api(request):
return 'hey'
# authenticate user
username = request.POST['username']
password = request.POST['password']
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return redirect(request.GET.get('next', '/'))
return TemplateResponse(request, 'login.html')
@csrf_exempt
@login_required
def user_logout(request):
logout(request)
return redirect('/')