You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在HTML中渲染显示Django choice列表的人类可读对应值?

Django 模板渲染choices字段可读文本的解决方法

核心原理

Django 针对所有设置了choices参数的模型字段,会自动生成get_字段名_display()的内置方法,该方法会直接返回choices配置中对应的人类可读文本,Django管理后台默认就是调用该方法渲染choices字段,所以能正常显示文本值。

具体实现方案

  • 方案1:模板中直接调用(最常用,无需额外代码)
    把原有模板中的{{ schedule.day_of_week }}替换为如下内容即可:

    {{ schedule.get_day_of_week_display }}
    

    直接渲染就能得到Monday、Tuesday这类可读文本,无需修改模型或视图代码。

  • 方案2:视图中提前处理后传递给模板
    如果需要在视图逻辑中先拿到可读值再传给模板,可以在视图中调用该方法:

    # 视图层代码示例
    def your_view(request):
        schedule = Schedule.objects.first()
        context = {
            "day_text": schedule.get_day_of_week_display()
        }
        return render(request, "your_template.html", context)
    

    模板中直接使用传递的变量即可:

    {{ day_text }}
    

内容的提问来源于stack exchange,提问作者Marcus D.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 02:06:00