2016-09-28 44 views
0

好的,这是userena的models.py。如果设置了mugshot,我可以在html中使用模板标签进行检查吗?第一个if语句检查是否上传了照片。Django userena检查是否设置了面部照片

def get_mugshot_url(self): 
    """ 
    Returns the image containing the mugshot for the user. 

    The mugshot can be a uploaded image or a Gravatar. 

    Gravatar functionality will only be used when 
    ``USERENA_MUGSHOT_GRAVATAR`` is set to ``True``. 

    :return: 
     ``None`` when Gravatar is not used and no default image is supplied 
     by ``USERENA_MUGSHOT_DEFAULT``. 

    """ 
    # First check for a mugshot and if any return that. 
    if self.mugshot: 
     return self.mugshot.url 

    # Use Gravatar if the user wants to. 
    if userena_settings.USERENA_MUGSHOT_GRAVATAR: 
     return get_gravatar(self.user.email, 
          userena_settings.USERENA_MUGSHOT_SIZE, 
          userena_settings.USERENA_MUGSHOT_DEFAULT) 

    # Gravatar not used, check for a default image. 
    else: 
     if userena_settings.USERENA_MUGSHOT_DEFAULT not in ['404', 'mm', 
                  'identicon', 
                  'monsterid', 
                  'wavatar']: 
      return userena_settings.USERENA_MUGSHOT_DEFAULT 
     else: 
      return None 

回答

1

您可以简单地在用户配置文件实例的模板中复制第一个if语句。就像

{% if profile.mugshot %} 
    profile.mugshot.url 
{% endif %} 
+0

我曾尝试过,但它没有工作,因为它需要评估到没有我认为它会返回false,所以我得到它通过使用一个图片从互联网工作,它返回到那个列表中都没有。非常感谢:D –