Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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 默认情况下,在django模型中以本地时间输入当前日期时间_Python_Django_Datetime_Django Models_Pytz - Fatal编程技术网

Python 默认情况下,在django模型中以本地时间输入当前日期时间

Python 默认情况下,在django模型中以本地时间输入当前日期时间,python,django,datetime,django-models,pytz,Python,Django,Datetime,Django Models,Pytz,我在Django中创建了一个模型,我希望在本地时间中默认输入创建时间。我已在settings.py中设置了以下内容: TIME_ZONE = 'Asia/Kolkata' USE_TZ = True 我尝试了以下方法: import pytz status_timezone = pytz.timezone('Etc/UTC') class Status(models.Model): status = models.IntegerField(default=0, blank=True

我在Django中创建了一个模型,我希望在本地时间中默认输入创建时间。我已在settings.py中设置了以下内容:

TIME_ZONE = 'Asia/Kolkata'
USE_TZ = True
我尝试了以下方法:

import pytz

status_timezone = pytz.timezone('Etc/UTC')

class Status(models.Model):
    status = models.IntegerField(default=0, blank=True)
    active = models.IntegerField(default=1, blank=True)
    creation_date = models.DateTimeField(default=status_timezone.localize(datetime.now()))
这总是为所有条目提供相同的日期时间(模型初始化时间)

class Status(models.Model):
    status = models.IntegerField(default=0, blank=True)
    active = models.IntegerField(default=1, blank=True)
    creation_date = models.DateTimeField(default=datetime.now)
这将以UTC表示日期时间

有人能告诉我默认情况下如何在IST中输入日期时间吗?请提前感谢,如中所述,auto\u now\u add使用默认时区填充。如前所述,这是根据
时区设置填充的

因此,我认为你的问题的答案是:

时区=亚洲/Kolkota


creation\u date=models.datetime字段(auto\u add\u now=True)
它的常见模式如下:

import pytz

status_timezone = pytz.timezone('Etc/UTC')

class Status(models.Model):
    status = models.IntegerField(default=0, blank=True)
    active = models.IntegerField(default=1, blank=True)
    creation_date = models.DateTimeField(default=status_timezone.localize(datetime.now()))
created\u at=models.datetime字段(auto\u now\u add=True)
更新的\u at=models.DateTimeField(自动\u now=True)

您需要更改

USE_TZ = False
这样,您将停止使用
UTC

“时区=”亚洲/加尔各答“
将生效。

最简单的方法是

在“设置/py”中:

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'Asia/Kolkata' #'UTC' 

USE_I18N = True

USE_L10N = True

USE_TZ = True
在“models.py”中:

from django.utils import timezone
creation_date = models.DateTimeField(default = timezone.now, blank=False)