Python Django模型将日期字段的格式更改为;“DD-MM-YYY”;

Python Django模型将日期字段的格式更改为;“DD-MM-YYY”;,python,django,django-models,django-admin,date-format,Python,Django,Django Models,Django Admin,Date Format,我正在django项目中使用django模型的-dateField,希望在管理视图中更改我的dateFields格式 目前(默认)django提供的格式为YYYY-MM-DD,但我想修改该格式,需要DD-MM-YYYY 我在这件事上挣扎了太多,直到没有解决办法 同时提供我的代码,可能会有所帮助 my设置.py具有: LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True 型号

我正在django项目中使用django模型的-dateField,希望在管理视图中更改我的dateFields格式

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

我在这件事上挣扎了太多,直到没有解决办法

同时提供我的代码,可能会有所帮助

my设置.py具有:

LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
型号.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()
然后我在admin中注册它

关于管理

正如您在我的管理页面中看到的,有一个日期字段,格式为2019-11-04,但我希望格式为DD-MM-YYYY,格式为04-11-2019

我尝试了LANGUAGE\u CODE='de at'这对我来说很有用,但问题是,它也改变了本地语言

参考一篇类似的帖子:

将此添加到您的设置中。py

DATE_FORMAT = '%d-%m-%y'

要了解更多信息,请检查此项

您只需覆盖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_格式,而不是DATETIME_格式

然而Naveen Varshney也是对的:DATE_格式和DATETIME_格式在没有指定语言的情况下工作,例如es_格式

因此,从两个答案的组合中,将以下内容放入设置中:

es_formats.DATE_FORMAT = 'd-m-y'
(同样
'%d-%m-%y'
打印
%01-%08-%20
,因此不需要
%


谢谢。你对这个问题的答案中的链接有何看法:Hi@TamoorSalah-U-Din,这些是forms.datefield的链接,我尝试了我的链接,但没有解决问题。这对我的案例不起作用。请详细说明django.conf.locals包是什么。es是语言代码或什么的es。。在我的情况下,我的语言_CODE=“en-us”是否与此相关。es将指西班牙/西班牙语。将
es
替换为
en
可能会起作用,您可能需要稍微玩玩一下。