Mer*_*moz 1 django django-templates
我的模型UserProfile包含一个OneToOneField名为的类Info:
class UserProfile(models.Model):
user = models.OneToOneField(User, primary_key=True)
info = models.OneToOneField(Info, null = True, blank= True)
Run Code Online (Sandbox Code Playgroud)
在我的模板中,我可以访问配置文件
{{user.get_profile}}
Run Code Online (Sandbox Code Playgroud)
但如何访问Info?我试过了
{{user.get_profile.info.photo.url}}
Run Code Online (Sandbox Code Playgroud)
没有成功.
你不能这样做.
user.get_profile()
Run Code Online (Sandbox Code Playgroud)
是一种方法,它在被访问时被执行
{{user.get_profile}}
Run Code Online (Sandbox Code Playgroud)
而不是当你尝试访问更多的配置文件属性时 {{user.get_profile.attr1}}
方法是从视图中发送配置文件对象.如果你想在很多视图中使用它,你应该把它变成TemplateContextProcessor.
还有另一种使用属性配置文件扩展User模型的方法,该属性配置文件@property与get_profile您之前描述的操作相同.
| 归档时间: |
|
| 查看次数: |
2381 次 |
| 最近记录: |