@abramoov

Проблема с функцией for в django?

Дело в том что вроде все правильно направляю в html
Но функция for в принципе не срабатывает 4 раза (столько позиций продуктов), да и имена продуктов не указываются
ничего не выводит
когда вызываю {{ item }} вот что выдает
"(QuerySet [Product: 2500.56 Gain Bolic 6000, Product: 35000.43 Fuioiuyt, Product: 4500.00 Gain Bolic 6000, Product: 9000.00 vhjvkkhvhjjhk],)"

(цена и названия всех продуктов)(на названия не обращайте внимания),
в общем что мне сделать чтобы у меня сработал цикл for

models.py
class Product(models.Model):
    name = models.CharField(max_length=64, blank=True, null=True, default=None)
    price = models.DecimalField(max_digits=10, decimal_places=2, default=0)
    description = models.TextField(blank=True, null=True, default=None)
    is_active = models.BooleanField(default=True)
    created = models.DateTimeField(auto_now_add=True, auto_now=False)
    updated = models.DateTimeField(auto_now_add=False, auto_now=True)

    def __str__(self):
        return "%s %s" % (self.price , self.name)

    class Meta:
        verbose_name = "Товар"
        verbose_name_plural = "Товары"


views.py

def home(request):
    item = (Product.objects.filter(is_active=True)),

    return render(request, 'landing/home.html', item.name.all())


home.html
{% block content %}
    {% include 'slider.html' %}
    {% include 'navbar.html' %}
    <div class="section">
        <div class="container">
            <div class="row">
            {{item}}

                    {% for name in item %}
                        <div class="col-lg-3">
                             <div class="view-item">
                                 <span>{{ item.name }}</span>
                             </div>
                        </div>
                    {% endfor %}
                </div>
            </div>
        </div>
    </div>
    {% include 'footer.html' %}
{% endblock %}
  • Вопрос задан
  • 246 просмотров
Решения вопроса 1
tema_sun
@tema_sun
Контекст должен быть словарем.
def home(request):
    item = Product.objects.filter(is_active=True)

    return render(request, 'landing/home.html', {"item": item})


А что вы хотите сделать этим item.name.all() ?

Блин, чем больше смотрю, тем больше не понимаю что вы вообще сделать хотите.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы