我遇到的另一个奇怪的行为,并不确定它为什么会发生......
我不会完全写出我在做什么,基本上我对 2 种情况有一个看法:默认情况下,搜索采用今天的日期,如果没有指定,则默认情况下,第二个是我指定我想查看的日期并获得查询...
所以这里是 urls.py:
url(r'^$', index),
url(r'^(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<change>prev|next)/$', index),
这是views.py:
def index(request, month = date.today().month, day = date.today().day, change=None):
# apply next / previous change
if change in ("next", "prev"):
now, mdelta = date(date.today().year, int(month), int(day)), timedelta(days=1)
if change == "next": mod = mdelta
elif change == "prev": mod = -mdelta
month, day = (now+mod).timetuple()[1:3]
someData= SomeModel.objects.filter(
date__exact = date(date.today().year, int(month), int(day))
)
return render_to_response('someapp_index.html',RequestContext(request,{'next':request.path, 'someData':someData, 'month': month, 'day':day}))
发生的事情是,由于某种原因,当 24 小时过去和第二天到来时, someData 没有更新到第二天。因此,例如,如果今天是 15 和 24 小时过去,并且已经是 16 ,那么您希望刷新时 someData 将在 1 月 16 日之前过滤,但实际上它仍然会被 15 过滤,因为从我开始的那一刻起月份和日期保持不变或重新启动 uwsgi 服务器.... ?!?!?!?!?
我尝试将这些 date.today().dat/month 作为变量传递到 url 文件中,它具有完全相同的效果....
我是唯一一个有这个问题的人吗?它不应该发生,或者它应该表现得像这样,你不能放 date.today() 对象?