I use 日期时间字段() https://docs.djangoproject.com/en/4.2/ref/models/fields/#datetimefield, 日期字段() https://docs.djangoproject.com/en/4.2/ref/models/fields/#datefield and 时间字段() https://docs.djangoproject.com/en/4.2/ref/models/fields/#timefield in MyModel
类如下图所示。 *我用姜戈4.2.1:
# "models.py"
from django.db import models
class MyModel(models.Model):
datetime = models.DateTimeField() # Here
date = models.DateField() # Here
time = models.TimeField() # Here
然后,我设置DATE_INPUT_FORMATS https://docs.djangoproject.com/en/4.2/ref/settings/#date-input-formats and TIME_INPUT_FORMATS https://docs.djangoproject.com/en/4.2/ref/settings/#time-input-formats并设置USE_L10N https://docs.djangoproject.com/en/4.2/ref/settings/#use-l10n False
使DATE_INPUT_FORMATS
and TIME_INPUT_FORMATS
工作于settings.py
如下所示:
# "settings.py"
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = False # Here
USE_TZ = True
DATE_INPUT_FORMATS = ["%m/%d/%Y"] # '10/25/2023' # Here
TIME_INPUT_FORMATS = ["%H:%M"] # '14:30' # Here
Then, DATE_INPUT_FORMATS
and TIME_INPUT_FORMATS
在 Django Admin 中工作,如下所示:
接下来我设置DATETIME_INPUT_FORMATS https://docs.djangoproject.com/en/4.2/ref/settings/#std-setting-DATETIME_INPUT_FORMATS并设置USE_L10N
False
使DATETIME_INPUT_FORMATS
工作于settings.py
如下所示:
# "settings.py"
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = False # Here
USE_TZ = True
DATETIME_INPUT_FORMATS = ["%m/%d/%Y %H:%M"] # '10/25/2023 14:30'
But, DATETIME_INPUT_FORMATS
在 Django Admin 中不起作用,如下所示:
此外,从一个MyModel
对象,我得到并打印datetime
, date
and time
并将它们传递给index.html
in test()
in views.py
如下所示:
# "views.py"
from django.shortcuts import render
from .models import MyModel
def test(request):
obj = MyModel.objects.all()[0]
print(obj.datetime)
print(obj.date)
print(obj.time)
return render(
request,
'index.html',
{"datetime": obj.datetime, "date": obj.date, "time": obj.time}
)
但是,所有DATE_INPUT_FORMATS
, TIME_INPUT_FORMATS
and DATETIME_INPUT_FORMATS
根据控制台不起作用,如下所示:
2023-10-25 14:30:15+00:00
2023-10-25
14:30:15
接下来我展示datetime
, date
and time
in index.html
如下所示:
# "index.html"
{{ datetime }}<br/>
{{ date }}<br/>
{{ time }}
但是,所有DATE_INPUT_FORMATS
, TIME_INPUT_FORMATS
and DATETIME_INPUT_FORMATS
根据浏览器不起作用,如下所示:
Oct. 25, 2023, 2:30 p.m.
Oct. 25, 2023
2:30 p.m.
我的问题:
- 我怎样才能使
DATETIME_INPUT_FORMATS
在 Django 管理中工作?
- 为什么不
DATETIME_INPUT_FORMATS
在 Django 管理中工作?
- If
DATETIME_INPUT_FORMATS
在 Django Admin 中不起作用,在哪里DATETIME_INPUT_FORMATS
work?