Django - 无法让时间函数(时区、日期时间)正常工作,获取 ErrorName 消息 : global name not defined

标签 django datetime django-models timezone

我是 Django 新手,

我正在学习教程,我必须创建两个如下所示的模型:

import datetime
from django.db import models
from django.utils import timezone

class Poll(models.Model):
    question = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

    def __unicode__(self):
        return self.question

    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)


class Choice(models.Model):
    poll = models.ForeignKey(Poll)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField()

    def __unicode__(self):
        return self.choice_text

以下代码来自教程。我应该得到True。
# Make sure our custom method worked.
>>> p = Poll.objects.get(pk=1)
>>> p.was_published_recently()
True

但是当我输入(与教程相同的行)时:
>>> p = Poll.objects.get(pk=1)
>>> p.was_published_recently()

我收到以下错误消息:
models.py line 12 in was_published_recently
NameError: global name 'datetime' is not defined..

我进口的 datetimetimezone ...我不明白为什么会收到该错误消息。

任何帮助将不胜感激! :-)

最佳答案

You need to import Timezone first from Django utils and after that you need to import datetime.


from django.db import models
    from django.utils import timezone
    import datetime

关于Django - 无法让时间函数(时区、日期时间)正常工作,获取 ErrorName 消息 : global name not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14719883/

相关文章:

python - 如何在 Python 中使用 R 通过 Django 返回一个 R 图?

django - 如何在 Django 中跨应用程序/项目注册 celery 任务?

django - 禁止(403)CSRF验证失败。请求中止

html - 从 <input type ="date"/> 中删除键盘以外的所有样式和功能

c++ - Boost 解析日期/时间字符串并产生 .NET 兼容的 Ticks 值

python - Django 模型可以有硬编码的无类型字段吗?

Django Rest Framework - 插入时从值获取外键 ID

java - 检查以毫秒为单位的时间是否是明天

python - 如何使用外键将帖子添加到 django 用户模型

python - Django PositiveIntegerField 接受否定