Django:在引用之前测试UserProfile是否存在

nr9pn0ug  于 2023-05-19  发布在  Go
关注(0)|答案(2)|浏览(121)

尝试在Django中创建一个视图,将UserProfile挂钩为我的用户配置文件模块。我想做的是:

@login_required
def viewfunction (request):
   if request.user.get_profile():
      << do something here >>

但这样做会出错。是否有测试用户配置文件模块存在的最佳实践?

fquxozlt

fquxozlt1#

我知道这是旧的,但对于其他完全有效的需要回答OP的确切问题的人来说,hasattr()可以完成这项工作。您可以安全地使用此模式进行检查,而不会引发异常:

if hasattr(user, 'userprofile') and user.userprofile:
    // whatever
oxcyiej7

oxcyiej72#

您可以确保您的UserProfile是通过信号创建的。这是一个相关的question

相关问题