Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 为什么date.today()也返回时间?_Python_Date_Flask - Fatal编程技术网

Python 为什么date.today()也返回时间?

Python 为什么date.today()也返回时间?,python,date,flask,Python,Date,Flask,在Flask中,当我在类中定义slug时(对于mongoengine),我想返回2014-04-11(YY-MM-dd),我总是得到YY-MM-dd hh:MM:ss作为slug 为什么会这样 当我删除slug变量时,我的demo变量返回正确的格式 class Post(db.Document): demo = db.DateTimeField(default=datetime.date.today()) slug = db.DateTimeField(default=datet

在Flask中,当我在类中定义slug时(对于mongoengine),我想返回2014-04-11(YY-MM-dd),我总是得到
YY-MM-dd hh:MM:ss
作为slug

为什么会这样

当我删除slug变量时,我的demo变量返回正确的格式

class Post(db.Document):
    demo = db.DateTimeField(default=datetime.date.today())
    slug = db.DateTimeField(default=datetime.date.today()) 
这就是示例URL的样子,因此:

class Post(db.Document):
    demo = db.DateTimeField(default=datetime.date.today())
    slug = db.StringFieldField(default=datetime.date.today()) 

http://0.0.0.0:5000/2014-03-19%2000:00:00/
datetime字段
始终返回完整日期,时间格式为
hh:mm:ss

要仅获取日期,应将数据库字段更改为字符串。 这就是您的类的外观,因此:

class Post(db.Document):
    demo = db.DateTimeField(default=datetime.date.today())
    slug = db.StringFieldField(default=datetime.date.today()) 

不知道为什么alecxe删除了他的答案。。。完全正确
datetime.date.today()
仅返回日期。。。但是dateTime字段必须有一个时间,因为它不是默认值00000@JoranBeasley没有注意到这是一个与烧瓶相关的问题:)(不是django)meh它仍然建立在炼金术之上,所以几乎可以肯定答案是一样的,正确的用法是使用
db.StringField(默认值=datetime.date.today())
,对吗?@JoranBeasley嗯,这里使用的是
MongoEngine
,没有
DateField
。。