一页中有两个视图

时间:2019-02-28 12:32:02

标签: python django django-views

我是django的新手,遇到了问题。 我有2个应用程序,一个是滑块,我可以获取滑块图像,另一个是产品。 我在产品模型中选择了要显示在索引页面上的产品选项。 这是我的views.py

def index(request):
allslides = SliderImage.objects.all()

context = {
    'allslides': allslides
}
return render(request, 'pages/index.html', context)

def fproducts(request):
    fproducts = Product.objects.filter(is_featured=True)
    context = {
        'fproducts': fproducts
    }
    return render(request, 'pages/index.html', context)

我进行了一些研究,但django不允许在一页中显示2张视图。 那就是我的index.html

<div id="homepageslider" class="flexslider">
<ul class="slides">
    {% for s in  allslides %}
<li class=""><img src="{{ s.image.url }}" title="{{ s.alt }}"></li>
{% endfor %}
</ul>
</div>
<div class="container">
{% if fproducts %}
    {% for product in fproducts %}
        <div class="col-md-4 col-lg-3 col-sm-6 col-12 mb-4 px-1">
            <div class="card">
             <a href="{% url 'productdetail' product.id %}"><img src="{{ product.main_image.url }}" class="card-img-top" alt="..."></a>
              <div class="card-body">
                <a href="{% url 'productdetail' product.id %}"><h5 class="card-title text-truncate">{{ product.title }}</h5></a>
                  <a href="{% url 'productdetail' product.id %}"><p class="card-text">{{ product.kod }}</p></a>
              </div>
            </div>
        </div>
    {% endfor %}
    {% else %}
    <p>No Products</p>
{% endif %}

感谢帮助。

1 个答案:

答案 0 :(得分:2)

在一个视图中执行该操作:

def index(request):
    allslides = SliderImage.objects.all()
    fproducts = Product.objects.filter(is_featured=True)
    context = {
        'allslides': allslides,
        'fproducts': fproducts,
    }
    return render(request, 'pages/index.html', context)