从django中的用户列表中删除登录用户的名称

时间:2013-08-30 14:28:25

标签: django django-templates django-views

我有一个模板,显示喜欢论坛的用户和喜欢的用户名。但我不希望列表中的request.user(登录用户名),我只想要其他用户的名字,而不是用户本身。我该如何实现这一目标?而且我还想在模板中以相反的顺序列出名称(现在它显示了列表最后一个中最新的喜欢的用户。)。请指导我。谢谢。

enter image description here

forums.html:

{% extends "base.html" %}
{% load forum_tags %}

{% block content %}
<h2>Logged in as -- {{request.user}}</h2>
<h1>Forums:</h1>
    {% if forums.count > 0 %}
        {% for forum in forums %}
            <h2><a href="/forum/get/{{forum.id}}/">{{forum.question}}</a></h2>
            <p>{{forum.body | truncatewords:"30"}}</p>
            {% if user in forum.likes.all and forum.likes.count > 1 %}
                <p><a href="/forum/delete_likes/{{forum.id}}/">Unlike</a> You and {{forum.likes.count | substract:1}} others liked</p>
            {% elif user in forum.likes.all %}
                <p>You liked it</p>
            {% else %}
                <p><a href="/forum/update_likes/{{forum.id}}/">Like</a></p>
            {% endif %}
            {% for likes in forum.likes.all %}
                <li><a href="/get/{{likes.user}}">{{likes.get_full_name}}</a></li>
            {% endfor %}
        {% endfor %}
    {% else %}
        <p>Sorry! No forum to display.</p>
    {% endif %}

{% endblock %}

views.py:

的片段
def forums(request):
    forums = Forum.objects.all()
    c = {'forums': forums}
    return render(request, 'forums.html', c)

3 个答案:

答案 0 :(得分:1)

将上下文传递给模板时使用RequestContext()。它会添加user上下文参数,然后您可以在模板中将其作为

进行比较
{% for likes in forum.likes.all %}
   {% if user != likes.user %} 
                <li><a href="/get/{{likes.user}}">{{likes.get_full_name}}</a></li>
    {%endif%}
{% endfor %}

答案 1 :(得分:0)

你可以试试这样的吗?

{% for likes in forum.likes.all %}
    {% if user != likes.user %}
        <li><a href="/get/{{likes.user}}">{{likes.get_full_name}}</a></li>
    {% endif %}
{% endfor %}

答案 2 :(得分:0)

我必须将它与fullname进行比较,因为我在列表中显示了用户的全名。所以,这就是解决方案:

        {% for likes in forum.likes.all.reverse %}
            {% if user.get_full_name != likes.get_full_name %}
                <li><a href="/get/{{likes.user}}">{{likes.get_full_name}}</a></li>
            {% endif %}
        {% endfor %}

希望这会对某些人有所帮助。感谢所有帮助过我的人!