【发布时间】:2014-10-11 21:16:24
【问题描述】:
通常,默认日期格式在模板中可以正常工作,但由于某种原因,在这个项目中,我无法让默认日期格式正常工作,以及在模板中格式化日期时间。我希望日期时间显示为https://docs.djangoproject.com/en/1.6/ref/settings/ 上列出的默认值,但它以这种格式显示:2014-08-18T19:08:49.138282
不仅默认格式不起作用,我也无法使用内置的日期模板过滤器。当我使用它时,什么都不会返回。
我正在使用 python 3.4 和 django 1.6.5
以下是相关代码:
### models.py ###
class Post(models.Model):
...
create_date = models.DateTimeField(auto_now_add=True)
...
### settings.py ###
LANGUAGE_CODE = 'en-us'
USE_L10N = True
# adding the following line doesn't do anything to change the datetime default
DATETIME_FORMAT = 'N j, Y, P'
### template.html ###
{{ post }} <!-- correctly returns the post object from the view -->
{{ post.create_date }} <!-- returns datetime, but horrible format -->
{{ post.create_date|date }} <!-- returns nothing -->
{{ post.create_date|date:"N j, Y, P" }} <!-- returns nothing -->
我查看了许多关于此主题的 SO 帖子,但没有找到答案。 Django 文档以及先前的经验表明一切都应该正常工作。少了什么东西?有什么想法吗?
【问题讨论】:
-
docs.djangoproject.com/en/dev/ref/settings/#date-format 你试过设置
DATE_FORMAT吗? -
是的,我也尝试将 DATE_FORMAT 放入 settings.py 中
-
可怕的格式是什么意思?
-
这种格式 - 2014-08-18T19:08:49.138282
-
这是您的日期时间对象的默认数据库表示。
标签: django django-templates django-template-filters