Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 7, 2020 21:01:43

raulIQ
Зарегистрирован: 2019-10-11
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Почему шаблонизатор django не заполняет тег <ul>

Я новичок в программировании и читая книгу наткнулся на проблему.Почему-то в книге 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})
models:
 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
good.html
 <ul>
			{% for cat in cats %}
				<li>
					<a href="/goods/{{cat.id}}/">{{cat.name}}</a>
				</li>
			{% endfor %}
		</ul>
код в браузере:
 <ul>
			
</ul>
Почему возникает эта проблема и как ее решить

( в шаблоне index.html в этом поле есть инфа )

Офлайн

#2 Фев. 7, 2020 21:19:13

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2849
Репутация: +  186  -
Профиль   Отправить e-mail  

Почему шаблонизатор django не заполняет тег <ul>

 return render(request, 'index.html', {'category':cat,'cats':cats,'goods':goods})
У тебя должен быть шаблон good.html, а не index.html



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Фев. 8, 2020 04:12:22

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10031
Репутация: +  857  -
Профиль   Отправить e-mail  

Почему шаблонизатор django не заполняет тег <ul>

Функцию good() скопируй из функции index(), а потом содержимое функции good() меняй уже под соответствующий шаблон good.html .



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version