gpt4 book ai didi

Django 模板 - 具有灵活名称的可重用片段

转载 作者:行者123 更新时间:2023-12-04 23:28:32 25 4
gpt4 key购买 nike

我有一个可重用的 HTML 片段,用于列出项目。因此,要在 View 中列出项目,我只需执行以下操作:

variables = RequestContext(request, {
'items': items,
}
return render_to_response('template_in_question',variables)

片段是:
{% for item in items %}
<p>Item: {{item.name}} </p>
{% endfor %}

到现在为止还挺好。但是,有些 View 我想使用相同的可重用片段两次。例如,如果我想列出最畅销的商品和最新的商品,我需要创建该可重用片段的两个副本:

View 将是这样的:
variables = RequestContext(request, {
'most_sold_items': most_sold_items,
'latest_items': latest_items
}

并且在 HTML 中需要有两个可重用的 HTML 模板:
{% for item in most_sold_items %}
<p>Item: {{item.name}}</p>
{% endfor %}

和第二个
 {% for item in latest_items %}
<p>Item: {{item.name}}</p>
{% endfor %}

所以我的问题是:如何在同一个 View 中使用两个或多个项目列表,并为此使用通用的 HTML 模板?例如,在上面的 View 中传递“most_sold_items”和“latest_items”并以某种方式仅使用一个 HTML 模板分别列出每个?

最佳答案

您可以使用 include 标签来完成。基本上,你最终会得到:

<h1>Most sold items</h1>
{% include "items.html" with items=most_sold_items only %}

<h1>Latest items</h1>
{% include "items.html" with items=latest_items only %}

关于Django 模板 - 具有灵活名称的可重用片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8552724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com