【问题标题】:type object 'datetime.timezone' has no attribute 'now'类型对象'datetime.timezone'没有属性'now'
【发布时间】:2021-04-19 01:09:38
【问题描述】:

这行代码正在接收 AttributeError: now = timezone.now()

我不知道为什么。我正确导入包如下: from django.utils import timezone

但它仍然在抛出:

Attribute Error: type object 'datetime.timezone' has no attribute 'now'

型号

class Donaci(models.Model):
    creation_date = models.DateTimeField(auto_now_add=True, blank=True)
    message = models.CharField(max_length=300, null=True, blank=True)

    def whenpublished(self):
        now = timezone.now()
        
        diff = now - self.creation_date

        if diff.days == 0 and diff.seconds >= 0 and diff.seconds < 60:
            seconds= diff.seconds
            
            if seconds == 1:
                return str(seconds) +  "second ago"
            
            else:
                return str(seconds) + " seconds ago"

进口

from django.contrib.auth.models import AbstractUser
from django.contrib.auth import settings
from django.utils import timezone
from django.db import models
from datetime import *

【问题讨论】:

  • 您可能还从datetype 导入了timezone
  • 请显示完整的回溯和文件的相关部分。
  • @WillemVanOnsem 是的,我也有from datetime import *
  • 您不应该真正导入*,因为它会导致这个确切的问题。更改您的日期时间以仅导入您正在使用的内容。

标签: python django timezone


【解决方案1】:

使用这个:

import datetime

而不是这个:

from datetime import *

【讨论】:

    猜你喜欢
    • 2019-05-24
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    • 2021-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多