【问题标题】:DateField doesn't take date.today as defaultDateField 不采用 date.today 作为默认值
【发布时间】:2018-03-30 20:46:22
【问题描述】:

Python 2.7 版

Django 1.11 版

尝试制作我的第一个 Django 应用程序保存文档,这里是 models.py

的部分
class Docs(models.Model):
    FacilityRef = models.ForeignKey(Facility)
    Date = models.DateField(default=date.today)
    Type = models.CharField(max_length=50)
    Link = models.FileField(upload_to='Docs/%Y/%m/%d')

进行迁移时出现以下错误:

Date = models.DateField(default=date.today) NameError: name 'date' 没有定义

views.py的一部分:

    from django.http import HttpResponse
    import datetime

models.py的一部分

    from django.db import models
    import datetime

尝试在 views.pymodels.py 中插入以下字符串,正如它在 here and here 它没有帮助

from django.utils import timezone
from datetime import datetime

我应该做什么样的导入才能使这个功能起作用?

【问题讨论】:

    标签: python django datefield


    【解决方案1】:

    datedatetime 模块的子模块。您永远不会导入名为 date 的模块,因此当您尝试调用它时会收到 NameError。应该是

    import datetime
    
    Date = models.DateField(default=datetime.date.today)
    

    from datetime import date
    
    Date = models.DateField(default=date.today)
    

    【讨论】:

    • 太棒了!并且以下方式也有效:from datetime import date
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    • 2013-04-09
    • 2021-03-02
    相关资源
    最近更新 更多