Django 比较模板中的两个表
我有两个django模型,Django 比较模板中的两个表,django,django-models,django-templates,Django,Django Models,Django Templates,我有两个django模型,User和Follow。 在Follow表中,我有两个属性a和b,这意味着a跟在b后面。 User表就是django.contrib.auth.User 假设我在用户A主页上,A在B,C之后,而不是D 我想列出A主页中的所有用户名,并突出显示A下面的用户名 在这种情况下,B,C应突出显示,D不应突出显示 我在考虑(伪代码) 对于用户中的用户: 有关以下内容: 如果user.username==follow.username: flag=true 打破 如果标志: #打印
User
和Follow
。
在Follow
表中,我有两个属性a
和b
,这意味着a跟在b
后面。
User
表就是django.contrib.auth.User
假设我在用户A
主页上,A
在B
,C
之后,而不是D
我想列出A
主页中的所有用户名,并突出显示A
下面的用户名
在这种情况下,B
,C
应突出显示,D不应突出显示
我在考虑(伪代码)
对于用户中的用户:
有关以下内容:
如果user.username==follow.username:
flag=true
打破
如果标志:
#打印颜色user.username
其他的
#正常打印。。
但我不认为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 %}
{%for user in all_user%}
{followers%中的followers%为%1}
{%ifequal user.username follower.follow.username%}
{{user.username}
{%endifequal%}
{%endfor%}
{{user.username}
{%endfor%}
这将复制“A”正在跟踪的用户
非常感谢您Hm,我将通过执行您在这里所做的操作,并将变量“flag”传递给您的模板以及其他对象来实现这一点
{% if flag == True %}
<do whatever>
{% endif %}
{%if标志==True%}
{%endif%}
您还可以在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 %}
您的意思是在
Follow
模型中再添加一个attr?这意味着我必须在数据库中包含所有用户对?也许我误解了这个问题。我认为您确定用户是否被跟踪的部分已经得到了处理(您的第一个示例或多或少是伪代码)。我的解决方案更多的是一种将数据传递给模板的干净方法(因为您说过我认为django模板不允许我这样做)。
{% for user in users %}
{% if user.followed %}
....
{% else %}
....
{% endif %}
{% endfor %}