简体   繁体   English

描述符“日期”需要一个“ datetime.datetime”对象,但接收到一个“ int”,但这是一个日期吗?

[英]Descriptor 'date' requires a 'datetime.datetime' object but received a 'int', but it is a date?

I'm trying to get the current year in my python code. 我正在尝试在我的python代码中获取当前年份。 And for some reason I am getting the following error 由于某种原因,我收到以下错误

descriptor 'date' requires a 'datetime.datetime' object but received a 'int' 描述符“日期”需要一个“ datetime.datetime”对象,但接收到一个“ int”

But if I print the data type it says it is a date.... 但是,如果我打印数据类型,它说这是一个日期。

from datetime import timedelta, datetime, date

def month_list(request):
    today = datetime.now()
    print today
    print type(today)
    year = today.year
    month_list = []
    for i in range(1, 13):
        month_list.append((i, datetime.date(year, i, 1).strftime('%B')))
    print month_list
    return render(request, "app/template.html")

And in the console 并在控制台中

2017-06-09 08:53:18.852041
<type 'datetime.datetime'>
Internal Server Error: /app/month_list/
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 149, in get_response
    response = self.process_exception_by_middleware(e, request)
  File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 147, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Library/Python/2.7/site-packages/django/contrib/auth/decorators.py", line 23, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/Users/username/Documents/Database/project/app/views.py", line 468, in month_list
    month_list.append((i, datetime.date(year, i, 1).strftime('%B')))
TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int'

I've used the same lines of code in another view and it works fine... guess I've done something stupid here...? 我在另一个视图中使用了相同的代码行,并且工作正常……猜想我在这里做了一些愚蠢的事情……?

Thanks 谢谢

I believe it should be month_list.append((i, date(year, i, 1).strftime('%B'))) 我认为应该是month_list.append((i, date(year, i, 1).strftime('%B')))

Since you imported date from the datetime module already, you can just refer to it directly. 由于您已经从datetime模块导入了日期,因此可以直接引用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 排除“描述符'日期'需要'datetime.datetime'对象,但收到'int'” - Troubleshooting “descriptor 'date' requires a 'datetime.datetime' object but received a 'int'” TypeError: 描述符 'date' 需要一个 'datetime.datetime' 对象但收到了一个 'int' - TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int' 描述符“日期”需要一个“日期时间.日期时间”object 但收到一个“系列”(Python) - Descriptor 'date' requires a 'datetime.datetime' object but received a 'Series' (Python) 描述符'date'需要'datetime.datetime'对象,但收到'unicode' - Descriptor 'date' requires a 'datetime.datetime' object but received a 'unicode' TypeError:描述符“日期”需要一个“日期时间.日期时间”object,但在从非英语翻译成英语时收到一个“int” - TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int' when translation from Non english to english 描述符“日期”需要一个“ datetime.datetime”对象,但收到一个“ datetime.date” - descriptor 'date' requires a 'datetime.datetime' object but received a 'datetime.date' TypeError:描述符&#39;strftime&#39;需要&#39;datetime.date&#39;对象但收到&#39;Text&#39; - TypeError: descriptor 'strftime' requires a 'datetime.date' object but received a 'Text' 类型错误:描述符“isoformat”需要一个“datetime.date”object 但收到一个“str” - TypeError: descriptor 'isoformat' requires a 'datetime.date' object but received a 'str' TypeError:描述符“ strftime”需要一个“ datetime.date”对象,但收到一个“ str” - TypeError: descriptor 'strftime' requires a 'datetime.date' object but received a 'str' TypeError: 'datetime.datetime' 对象的描述符 'date' 不适用于 'int' object - TypeError: descriptor 'date' for 'datetime.datetime' objects doesn't apply to a 'int' object
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM