Basic app that allows you to track the number of hits/views for a particular object.
Project description
Django-Cached-HitCount
===============
Basic app that allows you to track the number of hits/views for a particular
object.
All hits are stored in memcache until persisted to database.
As the hits are stored in cache there are no DB queries/inserts/updates on each request.
Adding hits is done via an ajax call so that app can still be used on cached views.
You can persist the hits to DB using celery and the `persist_hits` periodic task or use the `persist_hits` management command.
python manage.py persist_hits
hitcount_example app shows how to use app, by using `get_hit_count_javascript_template` and `get_hit_count` template tags.
Available settings are:
* HITCOUNT_CACHE -The CACHES setting dict key to use for caching hits (default is `cached_hitcount`)
* HITCOUNT_CACHE_TIMEOUT - How long in seconds should the hits be cached for before persisted (default is `600`)
* HITCOUNT_IP_CACHE_TIMEOUT - How long in seconds should the black list ip addresses be cached for (default is `86400` seconds = 1 day)
* HITCOUNT_PERSIST_SCHEDULE - How often should the hits be persisted (default is `15` minutes)
* HITCOUNT_IP_CACHE - key name to use for caching the blacklist ip addresses (default is `hitcount__blacklistip`)
* HITCOUNT_EXCLUDE_IP_ADDRESS - Whether or not you want to exclude some ip addresses (default is True)
* HITCOUNT_EXCLUDE_BOTS - Whether or not you exclude bots (default is True)
* HITCOUNT_LOCK_KEY - key name to use for locking when persisting hits to DB
* HITCOUNT_CSRF_EXEMPT - Whether or not ajax view is CSRF exempt by default. Useful if the pages you are using hitcount on are cached. (default is False)
* HITCOUNT_SERVER_CALLBACKS - Dict with with value as tuple of module and method to call on server. (default is {})
* HITCOUNT_CLIENT_CALLBACKS - List of Javascript functions to call when response is received. Response is passed to these functions. (default is [])
Also a gargoyle switch `cached_hitcount` to switch on/off all hit counting (default is True)
This app was very much inspired by <http://damontimm.com/code/django-hitcount/>
Installation:
-------------
Simplest way to formally install is to run:
./setup.py install
Or, you could do a PIP installation:
pip install -e git://github.com/philroche/django-cached-hitcount.git#egg=django-cached-hitcount
Or using PyPi
pip install django-cached-hitcount
Copyright:
-------------
This package is © 2014 Philip Roche, released under the terms of the GNU GPL v3 (or at your option a later version).
===============
Basic app that allows you to track the number of hits/views for a particular
object.
All hits are stored in memcache until persisted to database.
As the hits are stored in cache there are no DB queries/inserts/updates on each request.
Adding hits is done via an ajax call so that app can still be used on cached views.
You can persist the hits to DB using celery and the `persist_hits` periodic task or use the `persist_hits` management command.
python manage.py persist_hits
hitcount_example app shows how to use app, by using `get_hit_count_javascript_template` and `get_hit_count` template tags.
Available settings are:
* HITCOUNT_CACHE -The CACHES setting dict key to use for caching hits (default is `cached_hitcount`)
* HITCOUNT_CACHE_TIMEOUT - How long in seconds should the hits be cached for before persisted (default is `600`)
* HITCOUNT_IP_CACHE_TIMEOUT - How long in seconds should the black list ip addresses be cached for (default is `86400` seconds = 1 day)
* HITCOUNT_PERSIST_SCHEDULE - How often should the hits be persisted (default is `15` minutes)
* HITCOUNT_IP_CACHE - key name to use for caching the blacklist ip addresses (default is `hitcount__blacklistip`)
* HITCOUNT_EXCLUDE_IP_ADDRESS - Whether or not you want to exclude some ip addresses (default is True)
* HITCOUNT_EXCLUDE_BOTS - Whether or not you exclude bots (default is True)
* HITCOUNT_LOCK_KEY - key name to use for locking when persisting hits to DB
* HITCOUNT_CSRF_EXEMPT - Whether or not ajax view is CSRF exempt by default. Useful if the pages you are using hitcount on are cached. (default is False)
* HITCOUNT_SERVER_CALLBACKS - Dict with with value as tuple of module and method to call on server. (default is {})
* HITCOUNT_CLIENT_CALLBACKS - List of Javascript functions to call when response is received. Response is passed to these functions. (default is [])
Also a gargoyle switch `cached_hitcount` to switch on/off all hit counting (default is True)
This app was very much inspired by <http://damontimm.com/code/django-hitcount/>
Installation:
-------------
Simplest way to formally install is to run:
./setup.py install
Or, you could do a PIP installation:
pip install -e git://github.com/philroche/django-cached-hitcount.git#egg=django-cached-hitcount
Or using PyPi
pip install django-cached-hitcount
Copyright:
-------------
This package is © 2014 Philip Roche, released under the terms of the GNU GPL v3 (or at your option a later version).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-cached-hitcount-0.4.tar.gz
.
File metadata
- Download URL: django-cached-hitcount-0.4.tar.gz
- Upload date:
- Size: 13.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5649a31b10edcb5979b69edc391e3b06a146dc517a720f57a941509878a788da |
|
MD5 | 67fa8a6cef54ec069adaaefc7022b507 |
|
BLAKE2b-256 | 0cedcf94572a3f19c18e405d4062ed062f4c2d6c1d129ce20096d7c81df413ae |