Python 在django中,如何让模板标记每天加载当前日期?

Python 在django中,如何让模板标记每天加载当前日期?,python,django,Python,Django,我在django的索引页面中创建了一个仪表板,它使用模板标记代码输出。此模板标记的代码如下: start = timezone.now().date() end = timezone.now().date()+datetime.timedelta(days=1) 我给出了一个日期范围(开始、结束),用于输出日期范围内的记录。如果此服务器连续运行超过天,则模板标记将存储第一天的日期。无需重新启动服务器即可执行此代码,如何让此代码每天执行?使用django 1.6.5时,我的同事不久前遇到了这个问

我在django的索引页面中创建了一个仪表板,它使用模板标记代码输出。此模板标记的代码如下:

start = timezone.now().date()
end = timezone.now().date()+datetime.timedelta(days=1)

我给出了一个日期范围(开始、结束),用于输出日期范围内的记录。如果此服务器连续运行超过天,则模板标记将存储第一天的日期。无需重新启动服务器即可执行此代码,如何让此代码每天执行?使用django 1.6.5时,我的同事不久前遇到了这个问题。您提到这是在模板标记文件中。我敢打赌你的文件看起来像这样:

start = timezone.now().date()
end = timezone.now().date()+datetime.timedelta(days=1)

def my_template_function():
    # code goes here
这段代码的问题是,在生成pyc(或您使用的任何格式)文件时,开始和结束变量只计算一次。要使其正常工作,请在模板标记文件的函数中移动代码,如下所示:

def my_template_function():
    start = timezone.now().date()
    end = timezone.now().date()+datetime.timedelta(days=1)
    # rest of the code goes here

如果这不能解决您的问题,请从模板标记文件中发布更多代码。

延迟评估,直到标记实际使用为止。