PacktPublishing / Django-3-by-Example

Django 3 by Example (3rd Edition) published by Packt
https://djangobyexample.com/
MIT License
716 stars 687 forks source link

Chapter 7 - issue with shop.views.product_list returning None #83

Open gwt0083 opened 3 years ago

gwt0083 commented 3 years ago

After typing http://127.0.0.1:8000, I get this error: ValueError: The view shop.views.product_list didn't return an HttpResponse object. It returned None instead.

I have verified my files against the example here and don't find any issues, they appear to match. Any suggestions, view matches this project exactly.

Thank you, GT

vivekthedev commented 3 years ago

Can you share your code?

gwt0083 commented 3 years ago

I am assuming it is the views file that is the issue, here is a cut and paste of shop-->views.py:

from django.shortcuts import render, get_object_or_404 from .models import Category, Product

def product_list(request, category_slug=None): category = None categories = Category.objects.all() products = Product.objects.filter(available=True) if category_slug: category = get_object_or_404(Category, slug=category_slug) products = products.filter(category=category) return render(request, 'shop/product/list.html', {'category': category, 'categories': categories, 'products': products})

def product_detail(request, id, slug): product = get_object_or_404(Product, id=id, slug=slug, available=True) return render(request, 'shop/product/detail.html', {'product': product})