2017-04-08 70 views
0

我需要一些帮助,我已经扩展了自定义用户模型,但由于某种原因,如果在模板中我得到所需的字段,它不会显示任何内容。在Django模板中获取特定的用户信息

views.py:

def index(request): 
    utente = User.objects.filter(username__in=["user"]) 
    return render(request,"blog/index.html", {'users' : utente}) 

HTML:

{% for utente in users %} 

        <img class="img-circle center-block" src="{{ utente.img.url }}" width="140" height="140"> 
        <h2 class="text-center">{{ utente.get_full_name }}</h2> 
        <p class="text-center">{{ utente.bio }}</p> 

       {% endfor %} 

有了这个代码,我只能用 “get_full_name” 得到的名字。

有什么建议吗?

+1

您可以分享您制作的自定义模型吗? –

+1

只是单挑,你意识到你正在用用户名'user'获取用户,对吧?只是想知道,因为这通常没有多大意义。 – Bono

+0

是啊,我知道,我写了用户,因为我想隐藏用户名:) – TheDocz

回答

1

看起来您正在导入Django提供的用户模型,而不是您的自定义用户模型。

尝试改变:

from django.contrib.auth.models import User 

from django.contrib.auth import get_user_model 

然后使用get_user_model

def index(request): 
    utente = get_user_model().objects.filter(username__in=["user"]) 
    return render(request,"blog/index.html", {'users' : utente}) 

还要选择用户,请确保AUTH_USER_MODEL设为您的自定义用户模型在settings.py文件。

AUTH_USER_MODEL = 'myapp.MyUser'