这是我的def:
@register.inclusion_tag('menu/home.html')
def show_menu():
buttonname = Button.objects.all()
return {'button': buttonname}
这是我的home.html:
{% for buttons in button %}
<li class="nav-item"><a class="nav-link" href="">
<button class="btn" type="submit"><i class="fa fa-bullhorn" aria-hidden="true"></i>
{{ button }}
</button>
</a></li>
{% endfor %}
问题是它每次都会显示所有按钮的查询集。如何一次显示一个对象?
答案 0 :(得分:1)
您正在从定义中获取带有“按钮”变量名称的按钮列表。我建议你将'按钮'(复数)重命名为名称。
@register.inclusion_tag('menu/home.html')
def show_menu():
buttons = Button.objects.all()
return {'buttons': buttons}
所以在模板的for循环中你应该做
{% for button in buttons %}
<li class="nav-item"><a class="nav-link" href="">
<button class="btn" type="submit"><i class="fa fa-bullhorn" aria-hidden="true"></i>
{{ button }}
</button>
</a></li>
{% endfor %}