2

我正在尝试在我正在编写的 Django 模板中运行一些 if 语句。这是代码:

{% for object in managers %}
    {{ request.user.username }}
    {{ object.manager }}
    {% if request.user.username == object.manager %}
       You are on the list!
    {% endif %}
{% endfor %}

当我以作为 objects.manager 成员的用户身份登录时运行此代码时,我看到以下内容:

用户名用户名

但是 if 语句中没有出现任何内容。如果两个值相同,为什么它不起作用?我知道这不是最优雅的方法,但目前我只能访问模板文件,我正试图快速完成一些事情:)

谢谢!

4

1 回答 1

2

你的 object.manager 是一个外键(int),你的 request.user.username 是一个(str)。为了使其相等,请使用两个外键。

{% if request.user == object.manager %} 

您也可以使用 request.user.username。例如:

{% if request.user.username == object.manager.username %}

图案:

(int) == (int)
('str') == ('str')
(FK or PK) == (int)
(FK or PK) == (FK or PK)
于 2013-03-04T17:48:02.437 回答