在我的索引页面上,我有Django官方教程中的基本民意调查应用程序索引。
我希望通过在我的基本模板中包含这些变量,在每个页面上包含来自{{user.location}}的Hello,{{user}}的内容。
{{user}}正确呈现,但是{{user.location}}没有显示任何内容,即使我已经创建了一个位置属性并使用DjangoAdmin填充它。
models.py
class UserProfile(models.Model):
user = models.OneToOneField(User, unique=True)
location = models.CharField(max_length=120)
def __unicode__(self):
return "%s's profile" % self.user
base.html文件
<h1>User is {{ user }} from {{ user.location }}</h1>
我正在努力构思如何通过传递UserProfile来处理视图,以及如何将其与base.html模板相关联(假设我希望在所有页面上显示此消息)。
非常感谢任何帮助+提示/建议!
干杯
答案 0 :(得分:1)
User和UserProfile是两种不同的模型。但是,由于您从OneToOneField
到UserProfile
有User
,因此您也可以关注它。
<h1>User is {{ user }} from {{ user.userprofile.location }}</h1>
上的文档
如果没有为OneToOneField指定related_name参数,Django将使用当前模型的小写名称作为默认值。