python - Django:显示选择值

models.py:

class Person(models.Model):
    name = models.CharField(max_length=200)
    CATEGORY_CHOICES = (
        ('M', 'Male'),
        ('F', 'Female'),
    )
    gender = models.CharField(max_length=200, choices=CATEGORY_CHOICES)
    to_be_listed = models.BooleanField(default=True)
    description = models.CharField(max_length=20000, blank=True)

views.py:

def index(request):
    latest_person_list2 = Person.objects.filter(to_be_listed=True)
    return object_list(request, template_name='polls/schol.html',
                       queryset=latest_person_list, paginate_by=5)

在模板上,当我调用 person.gender 时,我得到的是 'M''F' 而不是 '男''女'

如何显示值('Male''Female')而不是代码('M'/ 'F')?

最佳答案

看来您的方向是正确的 - get_FOO_display()肯定是你想要的:

模板中,您不能在方法名称中包含()。执行以下操作:

{{ person.get_gender_display }}

https://stackoverflow.com/questions/4320679/

相关文章:

python - 从 Numpy 数组 : How do I specify the index c

python - 如何检查变量是否是类?

linux - Bash 忽略特定命令的错误

python - 在 Python 中获取临时目录的跨平台方法

python - 为什么 Python 没有符号函数?

linux - ./配置 :/bin/sh^M : bad interpreter

linux - 如何递归查找并列出具有子目录和时间的目录中的最新修改文件

linux - 更改 crontab 文件后重新启动 cron?

linux - 如何使用自定义分隔符将多行文件名合并为一个?

python - 如何逐行读取大型文本文件,而不将它们加载到内存中?