如何一次一个地获取每个对象Django

时间:2018-01-05 15:53:00

标签: django

这是我的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 %}

问题是它每次都会显示所有按钮的查询集。如何一次显示一个对象?

1 个答案:

答案 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 %}