如何在django中查询全名

时间:2013-08-30 13:39:37

标签: django django-templates django-views

我有一个模板,可以显示所有喜欢和特定论坛喜欢的人。在模板中,它可以显示喜欢的数量以及喜欢该论坛的所有人的用户名。但我想要全名而不是用户名(这里是电子邮件)。如何在模板中获取全名,或者如果可能,从视图本身获取全名。谢谢。

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}}</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)

1 个答案:

答案 0 :(得分:2)

如果您使用User中的默认django.contrib.auth.models模型,则可以在模板中使用get_full_name方法:

{{ user.get_full_name }}

否则,您也可以在自己的User模型中实现该方法。任何不接受参数的方法都可以从模板中调用(除非它们有alters_data attribute set to True)。