Найти - Пользователи
Полная версия: Доступ к полям переменных в шаблоне. Как?
Начало » Django » Доступ к полям переменных в шаблоне. Как?
1
pal201
В части отображения не могу понять как вывести отдельные поля модели:
class Lamp(models.Model):
power=models.ForeignKey(Lamp_Power, verbose_name=u'Мощность лампы')
type=models.ForeignKey(Lamp_Type, verbose_name=u'Тип лампы')
base=models.ForeignKey(Lamp_Base, verbose_name=u'Цоколь')
image=models.ForeignKey(Lamp_Image, blank=True, null=True, verbose_name=u'Изображение')
def __unicode__(self):
return u'%s %s:- %s'%(self.power, self.type, self.base)

class Mix(models.Model):
room=models.ForeignKey(Room, verbose_name=u'Комната')
lamp=models.ForeignKey(Lamp, verbose_name=u'Тип лампы')
count=models.IntegerField(u'Количество ламп')
def __unicode__(self):
return u'%s %s %s' % (self.room, self.lamp, self.count)
и вот так пытаюсь вывести в шаблоне:
     <h1 id="introduction">Введение</h1>
<p>
{%for room in rooms%}
</br><b>id {{room.id}}</b> Название помещения: <b>{{room.name_room}}</b> на <b>{{room.level}}</b> этаже. Описание: <b>{{room.description}}</b>
{% for lamp in room.mix_set.all %}
</br>{{lamp.id}} {{lamp.lamp_id}}
{% endfor %}
</br>
{%endfor%}
</p>
передаю в шаблон таким образом:
def centr(request):
rooms = Room.objects.all()
lamps = Lamp.objects.filter()
return render_to_response('centr.html',{'rooms':rooms,'lamps':lamps})
Если для room я могу получить конкретные поля модели, то для lamp не получается. Что я делаю не правильно, подскажите пожалуйста.
Спасибо

Отредактирован pal2 (сегодня 16:19:49)
thecore
{% for lamp in room.mix_set.all %} Откуда тут лампы-то?
Наверное тогда
{% for mix in room.mix_set.all %}
{{ mix.lamp }}
{% endfor %}

def centr(request):
rooms = Room.objects.all()
lamps = Lamp.objects.filter() <- это зачем?
return render_to_response('centr.html',{'rooms':rooms})
pal201
thecore
{% for lamp in room.mix_set.all %} Откуда тут лампы-то?
Наверное тогда
{% for mix in room.mix_set.all %}
{{ mix.lamp }}
{% endfor %}

def centr(request):
rooms = Room.objects.all()
lamps = Lamp.objects.filter() <- это зачем?
return render_to_response('centr.html',{'rooms':rooms})
Спасибо за помощь!
lamps = Lamp.objects.filter() <- осталось от экспериментов.
Если нужно проводить вычисления с цифрами, то это нужно делать во view, а не в шаблоне, а в шаблон передавать только цифры?
Если мы пишем в шаблоне
{% for mix in room.mix_set.all %}
{{ mix.lamp }}
{% endfor %}
тогда может это тоже делать во view, а передавать только результат в шаблон?
thecore
Ну это ваше дело.
Наверное от задачи зависит. Чтото можно и template тегами в шаблоне посчитать.
Я сейчас на Class-based View перешел. Там вообще удобно- можно к контексту добавлять отдельно какие угодно данные.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB