Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 管理表单中的日期时间呈现_Python_Django - Fatal编程技术网

Python 管理表单中的日期时间呈现

Python 管理表单中的日期时间呈现,python,django,Python,Django,我有以下Model和ModelAdmin类。但是,当我在管理员列表页面中查看帖子时,创建的字段呈现为2010-03-01 22:15:18.494594。我尝试在settings.py中设置DATETIME_FORMAT变量,但没有帮助。了解如何控制管理表单中日期时间字段的格式 另外,我知道我可以在Post模型中编写一个方法,在created字段上调用strftime,并呈现该方法而不是created,但我相信有更好的方法来处理这个问题 #models.py class Post(models.

我有以下Model和ModelAdmin类。但是,当我在管理员列表页面中查看帖子时,创建的字段呈现为2010-03-01 22:15:18.494594。我尝试在settings.py中设置DATETIME_FORMAT变量,但没有帮助。了解如何控制管理表单中日期时间字段的格式

另外,我知道我可以在Post模型中编写一个方法,在created字段上调用strftime,并呈现该方法而不是created,但我相信有更好的方法来处理这个问题

#models.py
class Post(models.Model):
  title = models.CharField(max_length=255)
  price = models.DecimalField(max_digits=11, decimal_places=2)
  description = models.TextField(blank=True)
  category = models.ForeignKey("Category")
  created = models.DateTimeField(auto_now_add=True)
  updated = models.DateTimeField(auto_now=True)

#admin.py
class PostAdmin(admin.ModelAdmin):
  list_display = ("title", "category", "price", "created",)
  list_filter = ("category",)
  search_fields = ("title", "category__name",)
admin.site.register(Post, PostAdmin)

我不知道有什么方法可以简单地指定在管理界面中使用的日期格式。不过你还有其他选择。看一看。根据文档,如果我没记错的话,列表页面上的列列表可以包括字段或简单属性的名称、以模型对象为参数的可调用对象的名称、以模型对象为参数的类本身的可调用对象的名称,或者类上的实例方法的名称


奇怪的是,在我的管理员列表中,日期默认显示如下:

2010年2月28日下午12:25

您是否在settings.py中设置了区域设置信息

TIME_ZONE = 'America/Los_Angeles'
LANGUAGE_CODE = 'en-us'
USE_I18N = True

是的,我在我的settings.py中定义了这3个设置