gpt4 book ai didi

django - 在 Django ModelForm 中本地化 DateField 输出格式

转载 作者:行者123 更新时间:2023-12-03 09:24:07 25 4
gpt4 key购买 nike

运行 Django 1.4.10。尝试在模型表单中设置日期本地化。阅读docs ,这似乎只是在 ModelForm 中的字段上设置 localize=True 属性,并在设置中打开本地化的情况。所以,我这样做:

my_field = DateField(localize=True)

在我的表单中,在设置中:

USE_L10N = True

然后我们愉快地进入表单,它部分起作用了。输入格式已本地化,因此对于北美,它显示:

"m/d/y"

但是,当您第一次加载表单时,初始输出格式是默认的:

"y-m-d"

根据文档,输出本地化应该和输入本地化一样工作。我做错了什么?

最佳答案

好的,在这里回答我自己的问题,因为我已经成功了。您还需要为小部件提供区域设置格式,以便对输出进行格式化。我认为这是 Django 中的一个错误。无论如何,该字段现在变成:

from django.utils import formats, translation

locale_format = formats.get_format('DATE_INPUT_FORMATS', lang=translation.get_language())[-1]
my_field = DateField(localize=True, widget=DateInput(format=locale_format))

locale_format 列表中的最后一项返回短日期格式区域设置。不知道为什么会这样做。

关于django - 在 Django ModelForm 中本地化 DateField 输出格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25193923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com