一般に、ユーザーがそのページに初めてアクセスしたかどうかをどのように知るのでしょうか? 技術的には、各ページへのアクセス数をモデルに保存しますか (私は django を使用しています)、または操作を容易にするために従うことができる他のパターンがありますか。
これを実装するためのデザインを探しています。
一般に、ユーザーがそのページに初めてアクセスしたかどうかをどのように知るのでしょうか? 技術的には、各ページへのアクセス数をモデルに保存しますか (私は django を使用しています)、または操作を容易にするために従うことができる他のパターンがありますか。
これを実装するためのデザインを探しています。
これには独自のメカニズムを作成する必要があると思います。
たとえば、すべての URL とユーザーの最初の訪問を格納するモデルを作成しますFirstVisit
。次に、ユーザーがビューでページを要求した場合、現在のユーザーと URL のエントリがあるかどうかFirstVisit
を検索し、それが初めてかどうかを調べることができます。その後、彼がまだ訪問していない場合FirstVisit
は、ページのコンテンツを取得するだけなので、エントリをモデルに保存します。
コードを書いてみます:
#models.py
class FirstVisit(models.Model):
url = models.URLField()
user = models.ForeignKey('auth.User')
#views.py
def my_view(request):
if not FisrtVisit.objects.filter(user=request.user.id, url=request.path).exists():
#he visits for the first time
#your code...
FisrtVisit(user=request.user, url=request.path).save()
デコレータを作成して、そこにこの機能を配置できます。次に、この情報を保存するビューにデコレータを追加し、デコレータからフラグ引数をビューに渡し、ユーザーが初めてそこにいるかどうかを判断します。