Swa*_*C H 85 python django django-templates
我正在使用存储一些额外的每用户信息AUTH_PROFILE_MODULE
.
我们可以使用Django模板访问用户,{{ request.user }}
但是我们如何访问配置文件中的字段,因为配置文件只能通过函数访问user.get_profile()
?
是否真的需要每次都将配置文件明确传递到模板中?
Ada*_*mKG 133
使用{{ request.user.get_profile.whatever }}
.Django的模板语言自动调用可调用的东西 - 在本例中是.get_profile()
方法.
Rac*_*hel 25
不确定为什么它对我来说不同,但我需要使用{{user}}而不是{{request.user}}.
是的,可以使用request.user.get_profile从模板访问配置文件
但是有一个小警告:并非所有用户都会拥有配置文件,这在我的情况下是管理员用户.因此,直接{{ request.user.get_profile.whatever }}
从模板调用
会在这种情况下导致错误.
如果您确定所有用户始终都有配置文件,则可以安全地从模板调用,否则请get_profile()
从视图中的try-except块中调用并将其传递给模板.
如果它对任何人有帮助,我在模板中使用了以下内容:
用户名:{{ user.username }}
用户全名:{{ user.get_full_name }}
用户组:{{ user.groups.all.0 }}
电子邮件:{{ user.email }}
会议开始于:{{ user.last_login }}
示例结果如下:
用户:审计员ezio
用户组:auditGroup
用户名:testUser03
电子邮件:testuser03@auditor.com
会议开始于2018年4月16日晚上9点38分
谢谢 :)