Roan is a per-model url purging Django app. It connects to model signals and purge URLs wherever a model is saved, updated or deleted.
Getting started
Installation
You can install Roan using pip:
$ [sudo] pip install roan
The only dependency is requests, that will be installed automatically by pip (if you don’t use the --no-deps argument).
Configuration
Roan uses only an optional setting: ROAN_PURGE_URL. If you don’t specify it, it’ll be http://localhost/purge.
Example of configuration:
ROAN_PURGE_URL = 'http://nginx.souza.cc/clean'
nginx proxy_cache support
Since Roan is based on a personal need, it’s based on nginx’s proxy_cache.
Suppose you have the following purge mapping:
location ~ /purge(/.*) {
allow 127.0.0.1;
deny all;
proxy_cache_purge roan "$scheme://$host$1";
}
Now suppose you have the following Django model:
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
And you have a URL /posts where users can see a list of posts. How can you set a forever cache and expect the cache to be refreshed whenever a new post is saved? Or whenever a post gets updated or deleted?
Using Roan you’ll be able to connect one or more models to one or more URL. So you can connect the Post model with the /posts URL, and whenever a Post gets saved, updated or deleted, Roan makes a request to the /purge/posts URL.
Usage
Once you have Roan installed and configured, you just need to call it in a file that Django executes (e.g.: the models.py of your app). Here is the code for the example above, of purging the /posts URL whenever a post gets saved or deleted:
from roan import purge
from models import Post
purge("/posts").on_save(Post)
purge("/posts").on_delete(Post)
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 roan-0.1.tar.gz.
File metadata
- Download URL: roan-0.1.tar.gz
- Upload date:
- Size: 2.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa30259ad45add5c6565ede4e1e467f6612c3d0a287709c565a90c9862e88e8f
|
|
| MD5 |
548d6567c98bb9d73cd94c6716977500
|
|
| BLAKE2b-256 |
3566f8aad53825572176349f055a6a65940d7a381a5a0c46537cda972325b01f
|