imageBotDjango/idescriptor/views.py

52 lines
1.5 KiB
Python
Raw Normal View History

2024-10-21 18:32:47 +00:00
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)