比较模板中的两个表

时间:2014-03-07 22:28:52

标签: django django-models django-templates

我有两个django模型,UserFollow。 在Follow表格中,我有两个属性ab,表示a following bUser表只是django.contrib.auth.User

请说我在user A主页,A关注BC而不关注D

我想列出A主页中的所有用户名,并突出显示A正在关注的用户名。

在这种情况下,BC应突出显示,D不应突出显示。

我在考虑(伪代码)

for user in users :
    for follow in Following:
        if user.username == follow.username:
             flag=true
             break
     if flag:
          #print color <p>user.username</p>
     else
          #print normal..

但我认为django模板允许我这样做。 还有其他方法吗?

这是我在django模板中的代码

  {% for user in all_user %}
      {% for follower in followers %}
          {% ifequal user.username follower.follow.username %}
              <p class="following">{{user.username}}</p>
          {% endifequal %}
      {% endfor %}
      <p>{{ user.username }}</p>
  {% endfor %}

这将复制'A'正在关注的用户。

非常感谢

2 个答案:

答案 0 :(得分:0)

嗯,我会通过你在这里做的事情来做到这一点,并将变量“flag”传递给你的模板,以及其他对象。

{% if flag == True %}
    <do whatever>
{% endif %}

答案 1 :(得分:0)

您还可以在for循环中向用户添加属性,然后在模板中检索该属性。

for user in users :
    for follow in Following:
        if user.username == follow.username:
             user.followed = True
             break

然后在你的模板中

{% for user in users %}
    {% if user.followed %}
        ....
    {% else %}
        ....
    {% endif %}
{% endfor %}