访问模板中的用户“扩展模型”

时间:2016-10-30 07:39:55

标签: django django-models django-templates django-views

我使用个人资料模型扩展了我的用户模型(包含图片,信息等)。我通过在Profile中定义关系来完成以下操作:

user = models.OneToOneField(User, related_name='profile')

是否可以直接在我的模板中将其拉出来,而不是每次都从视图(通过上下文)传递它?如下所示:

{{ request.user.profile.picture }}

(以上对我不起作用)

由于我想在基本模板中使用它,我不想在每个视图中传递它。

1 个答案:

答案 0 :(得分:0)

Django默认将User对象放入模板上下文中,这意味着您可以访问{{ user }}之类的用户。模板允许您访问相关对象,因此为了获得用户的个人资料图片,只需{{ user.profile.picture }}即可。如果没有返回任何内容,请确保您的用户有个人资料,而个人资料的图片字段不为空。