views.py 1.61 KB
from django.shortcuts import render, redirect

from .forms import BookForm
from .models import Book


def index(request):
    """
    -- INDEX --
    :param request:
    :return:
    """
    books = Book.objects.all()

    return render(request, 'djangoapp/index.html', {
        'books': books
    })


def create(request):
    """
    -- CREATE --
    :param request:
    :return:
    """

    form = BookForm()

    if request.method == 'POST':
        form = BookForm(request.POST)
        if form.is_valid():
            instance = form.save(commit=False)
            instance.save()

            return redirect('djangoapp:index')

    return render(request, 'djangoapp/create.html', {
        'form': form
    })


def read(request, book_id):
    """
    -- READ --
    :param request:
    :param id:
    :return:
    """
    book = Book.objects.get(pk=book_id)

    return render(request, 'djangoapp/read.html', {
        'book': book
    })


def update(request, book_id):
    """
    -- CREATE --
    :param request:
    :return:
    """

    book = Book.objects.get(pk=book_id)

    form = BookForm(instance=book)

    if request.method == 'POST':
        form = BookForm(request.POST, instance=book)
        if form.is_valid():
            instance = form.save(commit=False)
            instance.save()

            return redirect('djangoapp:index')

    return render(request, 'djangoapp/update.html', {
        'form': form
    })


def delete(request, book_id):
    """
    -- DELETE --
    :param request:
    :param book_id:
    :return:
    """

    Book.objects.get(pk=book_id).delete()

    return redirect('djangoapp:index')