Django模板系统,如何获得这个属性?

时间:2011-08-15 23:10:29

标签: django django-templates

我需要知道如何让这段代码在Django上运行。

此示例工作:

查看:

def index(request):    
    if request.user.is_authenticated():
        username = request.user.username
    else:
        username = None

模板:

{{ username }}

现在我想做的是这个,但这不起作用:

查看:

def index(request):    
    username = request.user.username

模板:

{% if user.is_authenticated %}
    {{ username }}
{% endif %}

以这种方式使用模板是可能的吗?我是初学者,我只是在测试这里的工作方式。

有任何线索吗?

最诚挚的问候,

2 个答案:

答案 0 :(得分:3)

您的第二个示例可能无效,因为您尚未将user放入模板上下文中。没有足够的代码可以肯定地知道,你还没有说出你看到了什么不好的结果。

答案 1 :(得分:2)

请注意,如果您将RequestContext传递给模板(大部分时间都是如此),则您已将request.user别名简称为{{ user }}。那你就做了

{{ user.username }}

并且视图函数需要对此一无所知。