Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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

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
Django AttributeError:&x27;datetime.date';对象没有属性';日期';_Django_Date_Datetime - Fatal编程技术网

Django AttributeError:&x27;datetime.date';对象没有属性';日期';

Django AttributeError:&x27;datetime.date';对象没有属性';日期';,django,date,datetime,Django,Date,Datetime,我正在尝试制作一个我在网上找到的日历模板标签,但它在使用日期时犹豫不决。我不确定,datetime对我来说真的很困惑。有时有效,我不知道为什么,有时无效,我不知道为什么 我的模型: class Event(models.Model): unique_id = models.IntegerField(default=1) subject = models.CharField(max_length=140, blank=Tr

我正在尝试制作一个我在网上找到的日历模板标签,但它在使用日期时犹豫不决。我不确定,datetime对我来说真的很困惑。有时有效,我不知道为什么,有时无效,我不知道为什么

我的模型:

class Event(models.Model):
    unique_id               = models.IntegerField(default=1)
    subject                 = models.CharField(max_length=140, blank=True, null=True)
    body                    = models.TextField(null=True, blank=True)
    start_date              = models.DateField(null=True, blank=True)
    start_time              = models.TimeField(null=True, blank=True)
    end_date                = models.DateField(null=True, blank=True)
    end_time                = models.TimeField(null=True, blank=True)
以及模板标记中有问题的代码:

from django import template
from datetime import date, timedelta
from cal.models import Event    

def cal_month(year=date.today().year, month=date.today().month):
        event_list = Event.objects.filter(start_date__year=year, start_date__month=month)

        first_day_of_month = date(year, month, 1)
        last_day_of_month = get_last_day_of_month(year, month)
        first_day_of_calendar = first_day_of_month - timedelta(first_day_of_month.weekday()+1)
        last_day_of_calendar = last_day_of_month + timedelta(7 - last_day_of_month.weekday())

        cal_month = []
        week = []
        week_headers = []

        i = 0
        day = first_day_of_calendar
        while day <= last_day_of_calendar:
            if i < 7:
                week_headers.append(day)
            cal_day = {}
            cal_day['day'] = day
            cal_day['event'] = False
            for event in event_list:
                if day >= event.start_date.date() and day <= event.end_date.date():
                    cal_day['event'] = True
            if day.month == month:
                cal_day['in_month'] = True
            else:
                cal_day['in_month'] = False  
            week.append(cal_day)
            if day.weekday() == 5:
                cal_month.append(week)
                week = []
            i += 1
            day += timedelta(1)

        return {'calendar': cal_month, 'headers': week_headers}

    register.inclusion_tag('calendar.html')(cal_month)

这只是循环,直到日志的末尾显示“最大递归错误”。

它已经是一个日期,因此它没有
date
方法将其转换为日期。我可以看到它是一个日期,但如果我将其更改为“if day>=event.start\u date and day在您发布的代码中没有递归调用。请发布回溯,以便我们查看错误发生的位置。我无法发布回溯,因为这是一个最大的递归错误(仅当我将代码更改为“if day>=event.start\u date and day时,我不理解该注释。但至少告诉我们递归的调用是什么)。
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 132, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/decorators.py", line 22, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/webapps/programgr/cal/views.py", line 37, in view_calendar
    return render(request, 'calendar.html', args)
  File "/usr/local/lib/python2.7/dist-packages/django/shortcuts.py", line 67, in render
    template_name, context, request=request, using=using)
  File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py", line 99, in render_to_string
    return template.render(context, request)
  File "/usr/local/lib/python2.7/dist-packages/django/template/backends/django.py", line 74, in render
    return self.template.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 209, in render
    return self._render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 201, in _render
    return self.nodelist.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 903, in render
    bit = self.render_node(node, context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 917, in render_node
    return node.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py", line 135, in render
    return compiled_parent._render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 201, in _render
    return self.nodelist.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 903, in render
    bit = self.render_node(node, context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 917, in render_node
    return node.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py", line 65, in render
    result = block.nodelist.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 903, in render
    bit = self.render_node(node, context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 917, in render_node
    return node.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 1292, in render
    return t.render(new_context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 211, in render
    return self._render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 201, in _render
    return self.nodelist.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 903, in render
    bit = self.render_node(node, context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 917, in render_node
    return node.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py", line 135, in render
    return compiled_parent._render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 201, in _render
    return self.nodelist.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 903, in render
    bit = self.render_node(node, context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 917, in render_node
    return node.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py", line 65, in render
    result = block.nodelist.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 903, in render
    bit = self.render_node(node, context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 917, in render_node
    return node.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 1292, in render
    return t.render(new_context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 211, in render
    return self._render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 201, in _render
    return self.nodelist.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 903, in render
    bit = self.render_node(node, context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 917, in render_node
    return node.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py", line 135, in render
    return compiled_parent._render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 201, in _render
    return self.nodelist.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 903, in render
    bit = self.render_node(node, context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 917, in render_node
    return node.render(context)
  File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py", line 65, in render
    result = block.nodelist.render(context)