from django.shortcuts import render, get_object_or_404, redirect from .models import Autor, Libro from .forms import AutorForm, LibroForm # Vistas para los autores def lista_autores(request): autores = Autor.objects.all() return render(request, 'gestion/lista_autores.html', {'autores': autores}) def detalle_autor(request, autor_id): autor = get_object_or_404(Autor, pk=autor_id) return render(request, 'gestion/detalle_autor.html', {'autor': autor}) def nuevo_autor(request): if request.method == 'POST': form = AutorForm(request.POST, request.FILES) if form.is_valid(): form.save() return redirect('lista_autores') else: form = AutorForm() return render(request, 'gestion/form_autor.html', {'form': form}) def editar_autor(request, autor_id): autor = get_object_or_404(Autor, pk=autor_id) if request.method == 'POST': form = AutorForm(request.POST, request.FILES, instance=autor) if form.is_valid(): form.save() return redirect('lista_autores') else: form = AutorForm(instance=autor) return render(request, 'gestion/form_autor.html', {'form': form}) def eliminar_autor(request, autor_id): autor = get_object_or_404(Autor, pk=autor_id) autor.delete() return redirect('lista_autores') # Vistas para los libros def lista_libros(request): libros = Libro.objects.all() return render(request, 'gestion/lista_libros.html', {'libros': libros}) def detalle_libro(request, libro_id): libro = get_object_or_404(Libro, pk=libro_id) return render(request, 'gestion/detalle_libro.html', {'libro': libro}) def nuevo_libro(request): if request.method == 'POST': form = LibroForm(request.POST, request.FILES) if form.is_valid(): form.save() return redirect('lista_libros') else: form = LibroForm() return render(request, 'gestion/form_libro.html', {'form': form}) def editar_libro(request, libro_id): libro = get_object_or_404(Libro, pk=libro_id) if request.method == 'POST': form = LibroForm(request.POST, request.FILES, instance=libro) if form.is_valid(): form.save() return redirect('lista_libros') else: form = LibroForm(instance=libro) return render(request, 'gestion/form_libro.html', {'form': form}) def eliminar_libro(request, libro_id): libro = get_object_or_404(Libro, pk=libro_id) libro.delete() return redirect('lista_libros')