1. ホーム
  2. python

[解決済み] Django インポート datetime

2022-02-12 18:13:02

質問

使用しています。

こんにちは、PHP出身のPython初心者なので、くだらない質問でしたら申し訳ありません。p.was_published_today()を呼び出そうとしたときに行き詰まっています。それはこのエラーを出力します。

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/path/to/mysite/polls/models.py", line 12, in was_published_today
    pub_date = models.DateTimeField('date published')
NameError: global name 'datetime' is not defined

しかし、私のmodels.pyのコードは、チュートリアルに沿って私が持つべきものと(私には)全く同じに見えます。

from django.db import models 
import datetime

# Create your models here.

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_today(self):
        return self.pub_date.date() == datetime.date.today()

# other code but not relevant to the error

このチュートリアルでdatetimeが機能しないという非常によく似た問題について、この辺りで他の人が質問しているのを見ましたが、その回答はどれも実際に私が機能させるのに役立ちませんでした。Python インタープリタでは動作しますが、スクリプトでは動作しません。私は非常に混乱しています & 私は45分間この詳細に取り組んできました。どなたか手がかりをお持ちではないでしょうか?

解決方法は?

ビューでdatetimeをインポートしていることを確認してください。追加してください。

import datetime

を Views.py ページに追加してください。この問題については、かつてチケットが開かれていました。

https://code.djangoproject.com/ticket/5668