【发布时间】:2018-01-08 14:04:46
【问题描述】:
我正在尝试在 Django 模板语言中实现某些东西,但不知道它是否可能(不诉诸 JS 或类似的东西)。
我有以下代码(来自 Django-Oscar),它在主页上呈现 3 个促销块:
{# Render promotions #}
<div id="promotions">
{% for promotion in promotions_page %}
{% render_promotion promotion %}
{% endfor %}
</div>
这三个板块是单品、产品和新品。上面的代码出现在layout.html 中,它主要负责渲染主页面的整个布局。
问题是,只要 Django 遇到这段代码,它就会一个接一个地渲染那里的所有促销活动。但是,我想选择在页面上放置它们的位置。更重要的是,我不相信我在渲染它们方面有很大的灵活性,阅读 - 除非绝对必要,否则我不想更改 Oscar 电子商务和渲染代码。
由于我可以访问单个商品、产品和新品促销活动的各个模板,因此我尝试在那里创建 DTL 块,然后在 layout.html 上的适当位置调用这些块。但是,这不起作用。
实现我想要做的事情的正确和最有效的方法是什么?
【问题讨论】:
标签: python html django django-templates django-oscar