2017-04-08 41 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'