使用缓存对Django模型进行访问计数
项目描述
Django Visit Count
使用缓存对Django模型进行访问计数。
安装
-
设置 Django的缓存框架。
-
安装Python包。
pip install django_visit_count
使用
使用 VisitCountMixin
。它为您模型添加一个 visit_count
字段。
from django_visit_count.mixins import VisitCountMixin
class MyBlogPost(VisitCountMixin, models.Model):
...
创建并在您的模型上运行迁移。
$ python manage.py makemigrations my_blog_app
$ python manage.py migrate my_blog_app
在视图中像这样计数访问
def view_blog_post(request, post_id):
post = get_object_or_404(MyBlogPost, pk=post_id)
post.count_visit(request)
...
高级使用
如果您需要更多控制,您可以使用 is_new_visit
函数。
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"])
...
您可以将可选关键字参数 session_duration
(整数,秒数)传递给 count_visit
或 is_new_visit
。
设置
默认设置
VISIT_COUNT_DEFAULT_SESSION_DURATION = 5 * 60 # seconds
开发
- 使用
pip install -e '.[dev]'
在您的虚拟环境中安装开发依赖项。 - 使用
pre-commit install
安装预提交钩子。
许可证
MIT
项目详情
关闭
django-visit-count-1.1.1.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 637967204b55ff0c992854817964dbf36038e0ac1e5cae669222a593a42a2179 |
|
MD5 | a1b8cd64f5880869d10997e0dfff6baf |
|
BLAKE2b-256 | b3b319792cfb055146f79acc4618f68de9e60f58fc64cd8b1e68489ff1be25b7 |
关闭
django_visit_count-1.1.1-py3-none-any.whl 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 25ac219bdf447ecda39245bf2b549f4944b7a454c73f88cd90b635af3da10c67 |
|
MD5 | 416f9eddeb95d0da6178bda0cc01e235 |
|
BLAKE2b-256 | 6575c3d3aefb347c5d3f169ad2e1506c90f623ab47d2e421f5237bc0497e2cb7 |