from django.core.exceptions import ValidationError from django.shortcuts import redirect, render from .models import Item, List def home_page(request): return render(request, 'apps/dashboard/home.html') def new_list(request): nulist = List.objects.create() item = Item(text=request.POST['item_text'], list=nulist) try: item.full_clean() item.save() except ValidationError: nulist.delete() error = "You can't have an empty list item" return render(request, "apps/dashboard/home.html", {"error": error}) return redirect(f'/apps/dashboard/{nulist.id}/') def view_list(request, list_id): our_list = List.objects.get(id=list_id) if request.method == "POST": Item.objects.create(text=request.POST['item_text'], list=our_list) return redirect(f'/apps/dashboard/{our_list.id}/') return render(request, 'apps/dashboard/list.html', {'list': our_list})