首页 > 解决方案 > 如何使用 django 将用户个人资料字段(如电话号码、性别)公开隐藏在社交媒体应用程序中?

问题描述

在社交媒体应用程序中,如何将电话号码字段设为私有/公共字段。

class User(AbstractBaseUser, PermissionsMixin):

    groups = models.ForeignKey(Group,on_delete=models.CASCADE)
    email = models.EmailField(max_length=255,unique=True,)
    phone = PhoneField(null=False, blank=False, unique=True)
    phone_visibility = models.BooleanField(default=False)

    def get_phone_no(self):
        if self.phone_visibility:
            return(self.phone)
        else:
            return ('')


    

标签: pythondjangodjango-modelsdjango-rest-framework

解决方案


可能你会写

<div>
    {% if request.user.phone_visibility %}
         <p> {{request.user.phone}} </p>
    {% else %}
         <p> phone number is hidden </p>
    {% endif %}
</div>

或使用类方法

<div>
   {{request.user.get_phone_no}}
</div>

推荐阅读