Django按模型缓存清理
项目描述
Roan是一个按模型URL清理的Django应用。它连接到模型信号,并在模型保存、更新或删除时清理URL。
入门指南
安装
您可以使用pip安装Roan
$ [sudo] pip install roan
唯一的依赖项是requests,它将由pip自动安装(如果您没有使用--no-deps参数)。
配置
Roan仅使用一个可选设置:ROAN_PURGE_URL。如果您未指定,它将是http://localhost/purge。
配置示例
ROAN_PURGE_URL = 'http://nginx.souza.cc/clean'
nginx代理缓存支持
由于Roan基于个人需求,它基于nginx的proxy_cache。
假设您有以下清理映射
location ~ /purge(/.*) { allow 127.0.0.1; deny all; proxy_cache_purge roan "$scheme://$host$1"; }
现在假设您有以下Django模型
class Post(models.Model): title = models.CharField(max_length=100) content = models.TextField()
并且您有一个URL /posts,用户可以查看帖子列表。您如何设置永久缓存并期望在保存新帖子时刷新缓存?或者当帖子被更新或删除时?
使用Roan,您可以将一个或多个模型连接到一个或多个URL。因此,您可以连接Post模型与/posts URL,每当Post被保存、更新或删除时,Roan都会向/purge/posts URL发起请求。
用法
一旦安装并配置了Roan,您只需在Django执行文件中调用它(例如:您的应用中的models.py文件)。以下是上述示例代码,用于在每次保存或删除帖子时清除/posts URL。
from roan import purge from models import Post purge("/posts").on_save(Post) purge("/posts").on_delete(Post)
项目详情
关闭
roan-0.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fa30259ad45add5c6565ede4e1e467f6612c3d0a287709c565a90c9862e88e8f |
|
MD5 | 548d6567c98bb9d73cd94c6716977500 |
|
BLAKE2b-256 | 3566f8aad53825572176349f055a6a65940d7a381a5a0c46537cda972325b01f |