Django模型将dateField的格式更改为“ DD-MM-YYY”

我正在django项目中使用django-model's-dateField,并且想要在管理视图中更改dateFields格式。

当前(默认)django提供的格式为 YYYY-MM-DD ,但是我想修改该格式,并且需要 DD-MM-YYYY

我为此一直苦苦挣扎,直到没有解决办法。

也提供我的代码可能会有所帮助。

我的 settings.py 有:

LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True

models.py

class UserProfile(models.Model):
    user = models.OneToOneField(User,on_delete=models.CASCADE,related_name='User_Profile')
    mobile = models.BigIntegerField()
    alternative_number = models.BigIntegerField()
    DOB = models.DateField()

然后我在管理员中注册

output(管理员)

正如您在我的管理页面中看到的那样,有一个dateField格式为2019-11-04,但我想以DD-MM-YYYY的形式作为04-11-2019。

我尝试了 LANGUAGE_CODE ='de-at',但问题是,它也会更改本地语言。

引用类似的帖子: Django - change default presentation format of model date field

huihuiitsme 回答:Django模型将dateField的格式更改为“ DD-MM-YYY”

将此添加到您的settings.py

where()

有关更多信息,请检查此date format

,

您只需要覆盖Django的默认语言环境设置即可。将此添加到您的settings.py文件中

from django.conf.locale.es import formats as es_formats

es_formats.DATETIME_FORMAT = "d M Y H:i:s"
,

fahim kazi 是对的:要定义 models.DateField 格式,您需要 DATE_FORMAT,而不是 DATETIME_FORMAT。

然而 Naveen Varshney 也是对的:DATE_FORMAT 和 DATETIME_FORMAT 都不能在没有指定语言的情况下工作,例如使用 es_formats。

因此,结合两个答案,在设置中输入以下内容:

es_formats.DATE_FORMAT = 'd-m-y'

(也'%d-%m-%y' 打印%01-%08-%20 因此不需要%)。

谢谢两位。

本文链接:https://www.f2er.com/3074581.html

大家都在问