在Django中放置基于性别的默认配置文件图像

2024-10-03 11:18:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要根据用户的性别选择默认配置文件图片的帮助。。 我的媒体文件夹中有三个默认图像,我想用作默认图像,即“00.png、01.png和02.png”

models.py

GenderChoice = (
    ('others', 'Others'),
    ('male', 'Male'),
    ('female' :'Female')
) 

class User(AbstractBaseUser):
    gender = models.CharField(choice=GenderChoice)
    pro_pic = models.ImageField(upload_to ="", default ="00.png")

我想要的是,如果用户选择gender=“others”,则00.png应保存为默认值,如果用户选择male,则01.png应选择为默认值

请帮忙🙏🙏🙏


Tags: 用户py图像文件夹pngmodels配置文件图片
1条回答
网友
1楼 · 发布于 2024-10-03 11:18:46

如果您将其视为“如果用户没有上传图像,我想根据性别显示不同的默认设置,这会变得容易得多”:

from django.templatetags.static import static
class User(AbstractBaseUser):
    gender = models.CharField(choice=GenderChoice)
    pro_pic = models.ImageField(upload_to ="", null=True)
    default_pic_mapping = { 'others': '00.png', 'male': '01.png', 'female': '02.png'}

    def get_profile_pic_url(self):
        if not self.pro_pic:
            return static('img/{}'.format(self.default_pic_mapping[self.gender]))
        return self.pro_pic.url

相关问题 更多 >