{{user}}无法在Django的模板中工作

时间:2018-01-07 12:10:30

标签: django

这是我的模板:

{% load static %}

<div class="header clearfix">
    <nav>
        <ul class="nav nav-pills nav-fill float-right ">
            {% for button in buttons %}
                    {{ user.id }}
                    {{ request.user.id }}
            {% endfor %}
        </ul>
    </nav>
</div>

这是我的模板标签:

from django import template
from menu.models import Button

register = template.Library()

@register.inclusion_tag('menu/home.html', takes_context=True)
def show_menu(context):
    request = context.get('request')
    if request.user.is_authenticated:
        buttons = Button.objects.filter(button_noco = False)
        return {'buttons': buttons}

在我的模板代码中,request.user.is_authenticated工作正常。问题是,在我的模板中,我无法向用户显示user.idrequest.user.id或类似内容(例如request.user.is_authenticated)。

为什么?

2 个答案:

答案 0 :(得分:0)

这样做:

@register.inclusion_tag('menu/home.html', takes_context=True)
def show_menu(context):
    request = context.get('request')
    if request.user.is_authenticated:
        buttons = Button.objects.filter(button_noco = False)
        return {'buttons': buttons, 'request': request <<<<----}

答案 1 :(得分:0)

您想要显示哪些信息?

'request'中用户的id,或者数据库中按钮的id? 试试这个:

{% for button in buttons %}
          {{ button.id }}
{% endfor %}