我有两个django模型,User
和Follow
。
在Follow
表格中,我有两个属性a
和b
,表示a following b
。
User
表只是django.contrib.auth.User
请说我在user A
主页,A
关注B
,C
而不关注D
。
我想列出A
主页中的所有用户名,并突出显示A
正在关注的用户名。
在这种情况下,B
,C
应突出显示,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'正在关注的用户。
非常感谢
答案 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 %}