2016-03-30 3 views
0

Extending the User Modelのドキュメントに従うと、プロファイルフィールドを取得できません。 アプリ/テンプレート/ chooser.htmlでアプリ/ views.pydjango(1.9.4)の拡張プロファイルにアクセスする方法

from django.shortcuts import render 
from django.contrib.auth.decorators import login_required 

@login_required 
def home(request): 
    return render(request, 'chooser.html') 

のユーザー/ models.py

from django.db import models 
from django.contrib.auth.models import User 

class Profile(models.Model): 
    # Fields 
    user = models.OneToOneField(User, on_delete-models.CASCADE) 

    is_good = models.BooleanField(default=False) 

{% if user.is_authenticated %} 
{% if user.is_good %} 
<h1>Good Boy</h1> 
{% endif %} 
{% endif %} 

すべてのアカウントで動作する必要がありますが、動作しません。

デバッグを有効にした後、私は、単一のSQL要求があることを参照してください。 SELECT * FROM auth_user WHERE id=8

Djangoのデバッグツールバー(要求部)

u'_auth_user_backend' 
u'django_auth_ldap.backend.LDAPBackend' 
u'_auth_user_hash' 
u'a72bee1aebbd30db244468ff794d7ef907c7d865' 
u'_auth_user_id' 
u'8' 

アカウントがLDAPに存在する(そしてそれからautosyncedされてきたと言いますdjangoのローカルDBに)。プロファイルは、is_goodブール値を含むように手動で編集されました。管理インラインは期待通りに機能します。

私はここで間違っています。

答えて

1

場合、ユーザーis_good

{% if user.profile.is_good %} 
<h1>Good Boy</h1> 
{% endif %} 
を確認しながら、ユーザーのプロファイルを参照する必要があります
関連する問題