所以我试图根据这种情况推荐用户使用社交网络:如果A跟随B而B跟随C,那么我们应该建议A跟随C。
到目前为止,我有这个代码,它显示了共同的朋友,所有用户和关注你的人
<ul>
{% for member in members %}
<li> <a href="?view={{ member.username }}"> {{ member.username }} </a>
{% if member in following %}
{% if member in followers %}
↔ is a mutual friend [<a href="?remove={{ member.username }}">drop</a>] </li>
{% else %}
← you are following [<a href="?remove={{ member.username }}">drop</a>] </li>
{% endif %}
{% else %}
{% if member in followers %}
→ is following you [<a href="?add={{ member.username }}">recip</a>] </li>
{% else %}
[<a href="?add={{ member.username }}">follow</a>] </li>
{% endif %}
{% endif %}
{% endfor %}
</ul>
但是我坚持这样做,所以任何帮助都会很棒,谢谢!
答案 0 :(得分:0)
Django模板不应该通过设计封装过于复杂的逻辑。它们主要是一个设计工具,主要逻辑应该在python中运行。这就是为什么在没有太多箍的情况下,你可以在模板中做什么有明确的限制。
这是一个简单的选项,如何实现您的要求
Organization
在视图中,您运行查询集:
def get_status(user,member):
... calculate follower status here ...
return msg,href,link_text
最后,在模板中:
members = Members.objects.all()
for member in members:
member.msg,member.href,member.link_text = get_status(member,request.user)
注意:这是一个简单的答案。你应该通过这个逻辑思考,你想把它放在哪里(在模型中可能,作为Member方法),使用reverse for urls等。但是这个想法不是将基本的app规则放在模板中