ジャンゴ - モデルインスタンスビューをカウント(「トップエントリー」のためのアプリ)

StackOverflow https://stackoverflow.com/questions/888905

質問

私は新しい、そして困惑しています。私は記事やブログモデルの両方の「トップヒット」のインスタンスを追跡してモジュールを作成します。私は記事やブログのモデルのコードに触れることをしたくありません。これは、ミドルウェアの候補ですか? HttpRequest.pathを見て?

他のヒント

あなたは、一般的なヒットモデルを作成することができます。

class Hit(models.Model):
    date = models.DateTimeFiles(auto_now=True)
    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    content_object = generic.GenericForeignKey('content_type', 'object_id')

あなたのview.pyにこの関数を記述します:

def render_to_response_hit_count(request,template_path,keys,response):
    for  key in keys:
        for i in response[key]:
             Hit(content_object=i).save()
    return render_to_response(template_path, response)

あなたは見返りに興味を持っているビュー

return render_to_response_hit_count(request,   'map/list.html',['list',],
        {
            'list': l,
        })

このアプローチはあなたに力を与え、ヒットをカウントするが、時間によってヒット歴史をフィルタリングするために、CONTENTTYPEのように...

だけでなく、

ヒットの表は、急成長するかもしれませんが、あなたが削除戦略を考える必要があります。

scroll top