出于某种原因,我无法使用自定义用户配置文件。 以下是我的尝试:
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函数(参见models.py中的#comment)
我错过了什么吗? 谢谢你的提示!
啊是的,我做了
AUTH_PROFILE_MODULE = 'mymodelname.UserProfile'
答案 0 :(得分:0)
您应该使用RequestContext
代替Context
:
from django.template import RequestContext
###
###
c = RequestContext(request, {'program': program})
此外,您必须在TEMPLATE_CONTEXT_PROCESSORS中拥有django.core.context_processors.request
。