2013-07-11 32 views
0

由於某些原因,我無法獲取自定義用戶個人資料的功能。 以下是我的嘗試:Django個人資料屬性未在模板中顯示

models.py:

class UserProfile(models.Model): 
    #user = models.ForeignKey(User, unique=True) 
    user = models.OneToOneField(User) 
    program = models.ForeignKey("Program") 
    book_date = models.DateField('book date') 
    def __unicode__(self): 
      return "%s" % (self.user) 
#User.profile = property(lambda u: UserProfile.objects.get_or_create(user=u)[0]) 

views.py:

def showProgram(request,program_id): 
    program = Program.objects.get(id=program_id) 
    t = loader.get_template('controltool2/showProgram.html') 
    c = Context({'program':program,}) 
    return HttpResponse(t.render(c)) 

showProgram.html:

<h1>Your Program: {{ request.user.get_profile.program }}</h1> 

我也試圖與

{{ user.get_profile.program }} 

{{ request.user.get_profile().program }} 

或使用lambda函數(見#COMMENT在models.py)

我缺少的東西? 感謝您的任何提示!

是啊,我也

AUTH_PROFILE_MODULE = 'mymodelname.UserProfile' 
+0

你使用的是什麼django版本? – stalk

+0

版本:1.4.1-2 – szeta

+1

您是否在TEMPLATE_CONTEXT_PROCESSORS中包含了django.core.context_processors.request? –

回答

0

你應該在的地方使用RequestContextContext

from django.template import RequestContext 
### 
### 
c = RequestContext(request, {'program': program}) 

此外,還必須有django.core.context_processors.request在TEMPLATE_CONTEXT_PROCESSORS。

+0

這是失蹤的一點! (RequestContext的)。非常感謝! – szeta

+0

很高興你得到它的工作! –

相關問題