0

何らかの理由で、カスタム ユーザー プロファイルを機能させることができません。以下は私が試したことです:

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])

ビュー.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 }}

またはラムダ関数を使用する (models.py の #comment を参照)

何か不足していますか?ヒントをありがとう!

ああ、そうです。

AUTH_PROFILE_MODULE = 'mymodelname.UserProfile'
4

1 に答える 1

0

RequestContext次の代わりに使用する必要がありますContext

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

django.core.context_processors.requestまた、 TEMPLATE_CONTEXT_PROCESSORSが必要です。

于 2013-07-11T09:22:44.563 に答える