1

前回のユーザー訪問以降の新規ユーザー数を含む関数を作成する必要があります。Cookie を使用してこれを行うにはどうすればよいですか?

私の試み:

ビュー:

...
users = User.objects.all().count()
response = HttpResponse()
if not request.COOKIES.get('new_users'):
    response.set_cookie('new_users', 0)
    n = request.COOKIES.get('new_users')
else:
    old = request.COOKIES.get('new_users')
    new  = int(users) - int(old)
    if new >=1:
        response.set_cookie('new_users', new)
        n = request.COOKIES.get('new_users')
return render_to_response('main.html', {'n': n}, context_instance=RequestContext(request))

しかし、まだいくつかの奇妙な値があります(n)。この関数をインデックス ビューまたはどこに作成する必要がありますか? 最良の選択肢は何ですか?

4

1 に答える 1

0

最適な場所は、このロジックを処理するミドルウェア関数を作成することです。

リクエストごとにミドルウェア関数が実行されることを考慮して、関数を非常に効率的にします (実装についてはあまり調べていませんでした)。

于 2013-10-22T15:06:35.047 に答える