gpt4 book ai didi

python - Django - 更改模型日期字段的默认呈现格式

转载 作者:太空宇宙 更新时间:2023-11-04 10:32:57 26 4
gpt4 key购买 nike

我有一个带有 DateField 的模型,设置如下:

date = models.DateField(blank=False, default=datetime.now)

每次我将该字段数据放入模板 ({{obj.date}}) 时,它都以这种格式显示:

July 24, 2014

我想将其永久更改为这种格式:

24.7.2014

我还有一个搜索页面,可以在其中按日期字段搜索数据 - 我也希望能够以这种格式进行搜索。我该怎么做?

编辑: 我认为它与 LANGUAGE_CODE = 'en-us' 设置有关。当我改变它时,它也会改变日期的格式。怎么改写呢?

最佳答案

Django 使用 l10n 将数字、日期等格式化为本地值。更改您的 LANGUAGE_CODE 是一个好点,它允许 Django 加载正确的环境。

除此之外,您还需要通过 USE_L10N=True 配置 l10n 的使用请参阅:https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-USE_L10N

要使表单字段能够本地化输入和输出数据,只需使用其本地化参数:

class CashRegisterForm(forms.Form):
product = forms.CharField()
revenue = forms.DecimalField(max_digits=4, decimal_places=2, localize=True)

这也适用于日期。

(来自:https://docs.djangoproject.com/en/dev/topics/i18n/formatting/#locale-aware-input-in-forms)

编辑:为了在模板中使用,您可以通过以下方式简单格式化日期:

{% load l10n %}

{{ value|localize }}

{{ your_date|date:"SHORT_DATE_FORMAT" }}

第二个是使用 settings.py 中的 SHORT_DATE_FORMAT

干杯,马克

关于python - Django - 更改模型日期字段的默认呈现格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25204299/

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