You need to enable JavaScript to run this app. 如何在Django Admin面板中自定义DateTime字段的显示格式
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django Admin面板中自定义DateTime字段的显示格式

Django Admin 自定义时间显示格式实现

要让Answer模型的created_at字段在Admin面板按照「Feb. 27, 2021, 6:55 p.m.」的格式展示,无需借助pytz这类第三方库,通过Django内置能力即可完成配置,操作步骤如下:

  • 在模型定义所在的文件顶部,引入Django内置的timezone工具:
from django.utils import timezone
  • 修改Answer模型的__str__方法,替换原有直接将created_at转为字符串的逻辑,先把存储的时间转换为本地时区时间,再按照目标格式拼接返回内容,修改后的完整模型代码如下:
class Answer(models.Model):
    created_at = models.DateTimeField(auto_now_add=True, null=True)

    def __str__(self):
        return "(" + timezone.localtime(self.created_at).strftime('%b %d, %Y, %I:%M %p') + ")"

原有实现直接调用str(self.created_at)输出的是数据库存储的原始时间值,既没有做时区转换,也没有匹配自定义的展示规则,是导致Admin面板显示效果不符合预期的核心原因。


内容的提问来源于stack exchange,提问作者kofhearts

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.31 02:06:10