0
class Middleware:

    def process_request(self, request):
        #ipreq(self)
        ip = request.META['HTTP_X_FORWARDED_FOR']
        make_entry(ip)

    def make_entry(self, ip):
        p = Logging_protocol.objects.create(proto = ip)

        p.save()

これは私のミドルウェア クラスのコードです。問題は、ログイン時とログアウト時にテーブルに2つのエントリを作成することです。ユーザーがログインしたときにIPを一度記録したい。また、特定の IP からページがロードされたときにエントリを作成します。

4

1 に答える 1

0

ミドルウェアはすべてのリクエストで動作することに注意してください。したがって、ログイン/ログアウトだけでなく、すべてのリクエストを記録する必要があるコードです。

ログインとログアウトのみに応答するようにイベント フレームワークを確認することをお勧めします。

さらに、おそらく新しいスタイルのクラスを使用する必要があります。

于 2012-09-04T17:34:24.443 に答える