django-visit-count 1.1.1

Creator: danarutscher

Last updated:

Add to Cart

Description:

djangovisitcount 1.1.1

Django Visit Count



Count visits using cache for Django models.
Installation


Set-up Django's cache framework.


Install the Python package.
pip install django_visit_count



Usage
Use VisitCountMixin. It adds a visit_count field to your model.
from django_visit_count.mixins import VisitCountMixin

class MyBlogPost(VisitCountMixin, models.Model):
...

Create and run migrations on your model.
$ python manage.py makemigrations my_blog_app
$ python manage.py migrate my_blog_app

Count visits in your view like this:
def view_blog_post(request, post_id):
post = get_object_or_404(MyBlogPost, pk=post_id)
post.count_visit(request)
...

Advanced Usage
If you need more control, you can use is_new_visit function.
class MyBlogPost(models.Model):
total_visits = models.PositiveIntegerField(default=0)
...

from django_visit_count.utils import is_new_visit

def view_blog_post(request, post_id):
post = get_object_or_404(MyBlogPost, pk=post_id)

if is_new_visit(request, post):
post.total_visits = F("total_visits") + 1
post.save(update_fields=["total_visits"])

...

You can pass an optional keyword argument session_duration (integer, number of seconds)
to count_visit or is_new_visit.
Settings
Default settings:
VISIT_COUNT_DEFAULT_SESSION_DURATION = 5 * 60 # seconds

Development

Install development dependencies in your virtualenv with pip install -e '.[dev]'
Install pre-commit hooks using pre-commit install.

License
MIT

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.