It’s not that difficult to counting every detail page in your website.
But I found very easy and great library for that - [django-hitcount](https://github.com/thornomad/django-hitcount/blob/master/example_project/blog/models.py)
Installing
using pip
pip install django-hitcount
and add it to INSTALLED_APPS
# settings.py
INSTALLED_APPS = (
...
'hitcount'
)
Also you can use several settings - active days, ip limit, exclude user group and so on. check here for more information.
Usage
You should inherit hitcount for model, and detailview.
Model
Just inherit HitCountMixin. And that’s all!
from hitcount.models import HitCount, HitCountMixin
@python_2_unicode_compatible
class Post(models.Model, HitCountMixin):
title = models.CharField(max_length=200)
content = models.TextField()
...
def __str__(self):
return "Post title: %s" % self.title
View
You just inherit HitCountDetailView and add count_hit = True.
from hitcount.views import HitCountDetailView
from community.models import Post
class PostDetailView(HitCountDetailView):
model = Post
count_hit = True
...
Template
{# the primary key for the hitcount object #}
{{ hitcount.pk }}
{# the total hits for the object #}
{{ hitcount.total_hits }}'backend > django' 카테고리의 다른 글
| django test plus (0) | 2018.02.27 |
|---|---|
| django model test - model_mommy (0) | 2018.02.26 |
| django: reversed forloop in template (0) | 2018.02.19 |
| django: using queryset chainable model manager (0) | 2018.02.17 |
| django: postgres full text search mixin (0) | 2018.02.16 |