私が遭遇した別の奇妙な動作で、なぜそれが起こるのかよくわかりません...
私がやっていることを完全には書きませんが、基本的には 2 つのケースに対して 1 つのビューがあります: 何も指定されていない場合、検索がデフォルトで今日の日付を取得するデフォルトのケース、および 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 file に渡される変数として入れてみましたが、まったく同じ効果がありました....
この問題を抱えているのは私だけで、発生しないはずですか、それともこのように動作し、date.today() オブジェクトを配置できませんか?