我已关注Django's documentation,以便为我的项目中使用的所有DateField
设置日期输出格式。
尽管如此,日期仍然没有以我执行的格式呈现。它们会以YYYY-mm-dd
的形式输出。
这是我的配置:
USE_L10N = False
DATE_FORMAT = '%d/%m/%Y'
SHORT_DATE_FORMAT = '%d/%m/%Y'
DATE_INPUT_FORMATS = [
'%d/%m/%Y', # '25/10/2006'
]
我在这里缺少什么,或者这是Django的错误?
答案 0 :(得分:0)
您是否指定了模板引擎应如何格式化变量?您需要在模板中添加输出变量的date
标记。
如果value是日期时间对象(例如,datetime.datetime.now()的结果),则输出将是字符串' Wed 09 Jan 2008'。
如果在没有格式字符串的情况下使用,则使用DATE_FORMAT格式说明符。假设设置与前一个示例相同:
[...]
意思是你必须做这样的事情:
{{ my_variable|date }}
答案 1 :(得分:0)
在IRC的FunkyBob的帮助下,问题已经解决。
我正在为我的DateField
使用自定义小部件:
class CalendarWidget(forms.TextInput):
class Media:
css = {
'all': ('main/js/vendor/pickadate.js-3.5.6/lib/compressed/themes/default.css',
'main/js/vendor/pickadate.js-3.5.6/lib/compressed/themes/default.date.css',)
}
js = ('main/js/vendor/pickadate.js-3.5.6/lib/compressed/picker.js',
'main/js/vendor/pickadate.js-3.5.6/lib/compressed/picker.date.js',
'main/js/datepicker.min.js',)
我只需使用forms.DateInput
代替forms.TextInput
,以便以正确的格式输出我的日期。