imageBotDjango/idescriptor/views.py
2024-10-21 20:32:47 +02:00

52 lines
1.5 KiB
Python

from django.http import HttpResponseRedirect
from django.shortcuts import render
from django.views.generic import FormView, UpdateView
from django.urls import reverse
from idescriptor.forms import ImageForm
from idescriptor.models import Image
from django.db.models import Q
def get_image_for_descriptor():
image = Image.objects.filter(Q(alt_text=None) | Q(title=None)).first()
return image
class ImageFormView(UpdateView):
model = Image
form_class = ImageForm
template_name = "idescriptor/image-form.html"
success_url = "."
def form_valid(self, form):
return super().form_valid(form)
def index(request):
"""View function for home page of site."""
image_to_describe = get_image_for_descriptor()
if request.method == "POST":
action = request.POST.get("action")
if action == "consume":
Image.consume()
if action == "add_image_details":
form = ImageForm(request.POST, instance=image_to_describe)
if form.is_valid():
instance = form.save()
print("Didi")
return HttpResponseRedirect(reverse("image-update", args=(instance.id,)))
else:
print("Dodo")
else:
form = ImageForm(instance=image_to_describe)
else:
form = ImageForm(instance=image_to_describe)
context = {"image_to_describe": image_to_describe, "form": form}
return render(request, 'idescriptor/index.html', context=context)