通常默认日期格式在模板中正常工作,但由于某些原因,在此项目中我无法使默认日期格式生效,以及在模板中格式化日期时间。我希望日期时间显示为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文档以及之前的经验表明一切都应该有效。少了什么东西?有什么想法吗?
答案 0 :(得分:0)
问题中有一些缺失的信息。 post对象来自tastypie API调用,并且它不会将日期/日期时间与django ORM默认情况下的相同。
我最终切换到只使用普通的django ORM,但另一种选择是可以使用TASTYPIE_DATETIME_FORMATTING
设置http://django-tastypie.readthedocs.org/en/latest/serialization.html