Форум сайта python.su
0
Я новичок в программировании и читая книгу наткнулся на проблему.Почему-то в книге sidebar заполняется данными, а у меня нет
Почему шаблонизатор django не заполняет тег <ul>
views:
from django.shortcuts import render from .models import Category, Good from django.http import Http404 def index(request, cat_id): cats = Category.objects.all().order_by('name') if cat_id == None: cat = Category.objects.first() else: cat = Category.objects.get(pk = cat_id) goods = Good.objects.filter(category = cat).order_by('name') return render(request, 'index.html', {'category':cat,'cats':cats,'goods':goods}) def good(request, good_id,): try: good = Good.objects.get(pk = good_id) except Good.DoesNotExist: raise Http404 return render(request,'good.html',{'good':good})
from django.db import models class Category(models.Model): name = models.CharField(max_length=30, unique=True) def __str__(self): return self.name class Good(models.Model): name = models.CharField(max_length=50,unique=True) description = models.TextField() in_stock = models.BooleanField(default=True, db_index=True) category = models.ForeignKey(Category,on_delete=models.CASCADE) def __str__(self): s = self.name if not self.in_stock: s=s + '( Нет в наличие )' return s
<ul> {% for cat in cats %} <li> <a href="/goods/{{cat.id}}/">{{cat.name}}</a> </li> {% endfor %} </ul>
<ul> </ul>
Офлайн
186
return render(request, 'index.html', {'category':cat,'cats':cats,'goods':goods})
Офлайн
857
Функцию good() скопируй из функции index(), а потом содержимое функции good() меняй уже под соответствующий шаблон good.html .
Офлайн