36746-vm/core/views.py
Flatlogic Bot 6f60851c06 Numero 1
2025-12-08 02:29:03 +00:00

71 lines
2.2 KiB
Python

from django.shortcuts import render, redirect
from .models import Club, BookRecommendation
import random
def index(request):
if request.method == 'POST':
club_id = request.POST.get('club')
book_title = request.POST.get('book_title')
author = request.POST.get('author')
reason = request.POST.get('reason')
# Simple CAPTCHA
num1 = int(request.POST.get('num1'))
num2 = int(request.POST.get('num2'))
captcha = int(request.POST.get('captcha'))
if captcha == num1 + num2:
club = Club.objects.get(id=club_id)
BookRecommendation.objects.create(
club=club,
book_title=book_title,
author=author,
reason=reason,
)
return redirect('/?submitted=true')
else:
return redirect('/?captcha_error=true')
clubs = Club.objects.all()
num1 = random.randint(1, 10)
num2 = random.randint(1, 10)
submitted = request.GET.get('submitted')
captcha_error = request.GET.get('captcha_error')
return render(request, 'core/index.html', {
'clubs': clubs,
'num1': num1,
'num2': num2,
'submitted': submitted,
'captcha_error': captcha_error,
})
from django.contrib.auth import login, logout
from django.contrib.auth.forms import AuthenticationForm
from .forms import SignUpForm
def signup_view(request):
if request.method == 'POST':
form = SignUpForm(request.POST)
if form.is_valid():
user = form.save()
login(request, user)
return redirect('/')
else:
form = SignUpForm()
return render(request, 'core/signup.html', {'form': form})
def login_view(request):
if request.method == 'POST':
form = AuthenticationForm(data=request.POST)
if form.is_valid():
user = form.get_user()
login(request, user)
return redirect('/')
else:
form = AuthenticationForm()
return render(request, 'core/login.html', {'form': form})
def logout_view(request):
if request.method == 'POST':
logout(request)
return redirect('/')